summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/read-package-json/read-json.js
diff options
context:
space:
mode:
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.js13
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 {