diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-08-14 05:01:11 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-08-14 05:02:09 +0200 |
commit | 363723fc84f7b8477592e0105aeb331ec9a017af (patch) | |
tree | 29f92724f34131bac64d6a318dd7e30612e631c7 /node_modules/resolve/lib | |
parent | 5634e77ad96bfe1818f6b6ee70b7379652e5487f (diff) |
node_modules
Diffstat (limited to 'node_modules/resolve/lib')
-rw-r--r-- | node_modules/resolve/lib/node-modules-paths.js | 14 | ||||
-rw-r--r-- | node_modules/resolve/lib/sync.js | 6 |
2 files changed, 17 insertions, 3 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 = ''; diff --git a/node_modules/resolve/lib/sync.js b/node_modules/resolve/lib/sync.js index 510ca256c..bc9e287a1 100644 --- a/node_modules/resolve/lib/sync.js +++ b/node_modules/resolve/lib/sync.js @@ -57,14 +57,18 @@ module.exports = function (x, options) { function loadAsDirectorySync(x) { var pkgfile = path.join(x, '/package.json'); if (isFile(pkgfile)) { - var body = readFileSync(pkgfile, 'utf8'); try { + var body = readFileSync(pkgfile, 'UTF8'); var pkg = JSON.parse(body); + if (opts.packageFilter) { pkg = opts.packageFilter(pkg, x); } if (pkg.main) { + if (pkg.main === '.' || pkg.main === './') { + pkg.main = 'index'; + } var m = loadAsFileSync(path.resolve(x, pkg.main)); if (m) return m; var n = loadAsDirectorySync(path.resolve(x, pkg.main)); |