diff options
Diffstat (limited to 'deps/npm/node_modules/read-package-json/read-json.js')
-rw-r--r-- | deps/npm/node_modules/read-package-json/read-json.js | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/deps/npm/node_modules/read-package-json/read-json.js b/deps/npm/node_modules/read-package-json/read-json.js index 3f93603f89..b1888956c8 100644 --- a/deps/npm/node_modules/read-package-json/read-json.js +++ b/deps/npm/node_modules/read-package-json/read-json.js @@ -58,7 +58,18 @@ function stripBOM (content) { } function parseJson (file, er, d, log, strict, cb) { - if (er && er.code === 'ENOENT') return indexjs(file, er, log, strict, cb) + if (er && er.code === 'ENOENT') { + return fs.stat(path.dirname(file), function (err, stat) { + if (!err && stat && !stat.isDirectory()) { + // ENOTDIR isn't used on Windows, but npm expects it. + er = Object.create(er) + er.code = 'ENOTDIR' + return cb(er) + } else { + return indexjs(file, er, log, strict, cb) + } + }) + } if (er) return cb(er) try { |