function factory( opts ) {
	return transformer;

	/**
	* Transforms a Markdown abstract syntax tree (AST).
	*
	* @private
	* @param {Node} tree - root AST node
	* @param {File} file - virtual file
	*/
	function transformer( tree ) {
		debug( 'Processing virtual file...' );
		visit( tree, 'definition', visitor );

		/**
		* Callback invoked upon finding a matching node.
		*
		* @private
		* @param {Node} node - reference node
		*/
		function visitor( node ) {
			debug( 'Found a definition: %s', node.identifier );
			if ( RE_STDLIB.test( node.identifier ) ) {
				debug( 'Found a package identifier.' );

				debug( 'Current URL: %s', node.url );
				node.url = opts.base + node.identifier;

				debug( 'Resolved URL: %s', node.url );
			}
		}
	}
}
Returns a transformer function.

@private
@param {Options} opts - transformer options
@param {string} opts.base - base path for internal URLs
@returns {Function} transformer function