diff options
Diffstat (limited to 'node_modules/resolve/lib/node-modules-paths.js')
-rw-r--r-- | node_modules/resolve/lib/node-modules-paths.js | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/node_modules/resolve/lib/node-modules-paths.js b/node_modules/resolve/lib/node-modules-paths.js index dc06199db..a4bde6a96 100644 --- a/node_modules/resolve/lib/node-modules-paths.js +++ b/node_modules/resolve/lib/node-modules-paths.js @@ -1,16 +1,26 @@ var path = require('path'); +var fs = require('fs'); var parse = path.parse || require('path-parse'); module.exports = function nodeModulesPaths(start, opts) { var modules = opts && opts.moduleDirectory ? [].concat(opts.moduleDirectory) - : ['node_modules'] - ; + : ['node_modules']; // ensure that `start` is an absolute path at this point, // resolving against the process' current working directory var absoluteStart = path.resolve(start); + if (opts && opts.preserveSymlinks === false) { + try { + absoluteStart = fs.realpathSync(absoluteStart); + } catch (err) { + if (err.code !== 'ENOENT') { + throw err; + } + } + } + var prefix = '/'; if (/^([A-Za-z]:)/.test(absoluteStart)) { prefix = ''; |