Show More
Commit Description:
fix wrong merge on user
Commit Description:
fix wrong merge on user
References:
File last commit:
Show/Diff file:
Action:
node_modules/resolve/lib/node-modules-paths.js
| 42 lines
| 1.2 KiB
| application/javascript
| JavascriptLexer
|
r789 | var path = require('path'); | |||
var parse = path.parse || require('path-parse'); | ||||
var getNodeModulesDirs = function getNodeModulesDirs(absoluteStart, modules) { | ||||
var prefix = '/'; | ||||
if ((/^([A-Za-z]:)/).test(absoluteStart)) { | ||||
prefix = ''; | ||||
} else if ((/^\\\\/).test(absoluteStart)) { | ||||
prefix = '\\\\'; | ||||
} | ||||
var paths = [absoluteStart]; | ||||
var parsed = parse(absoluteStart); | ||||
while (parsed.dir !== paths[paths.length - 1]) { | ||||
paths.push(parsed.dir); | ||||
parsed = parse(parsed.dir); | ||||
} | ||||
return paths.reduce(function (dirs, aPath) { | ||||
return dirs.concat(modules.map(function (moduleDir) { | ||||
return path.resolve(prefix, aPath, moduleDir); | ||||
})); | ||||
}, []); | ||||
}; | ||||
module.exports = function nodeModulesPaths(start, opts, request) { | ||||
var modules = opts && opts.moduleDirectory | ||||
? [].concat(opts.moduleDirectory) | ||||
: ['node_modules']; | ||||
if (opts && typeof opts.paths === 'function') { | ||||
return opts.paths( | ||||
request, | ||||
start, | ||||
function () { return getNodeModulesDirs(start, modules); }, | ||||
opts | ||||
); | ||||
} | ||||
var dirs = getNodeModulesDirs(start, modules); | ||||
return opts && opts.paths ? dirs.concat(opts.paths) : dirs; | ||||
}; | ||||