aboutsummaryrefslogtreecommitdiff
path: root/node_modules/resolve/lib/node-modules-paths.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/resolve/lib/node-modules-paths.js')
-rw-r--r--node_modules/resolve/lib/node-modules-paths.js14
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 = '';