diff options
author | Paulo Cesar <pauloc062@gmail.com> | 2013-08-17 01:20:07 +0400 |
---|---|---|
committer | Domenic Denicola <domenic@domenicdenicola.com> | 2013-08-25 05:26:24 +0400 |
commit | ec82299a6cfb8df005e93bd33ceb8b206494467b (patch) | |
tree | 6a0a14e28b9208c17ac1fc7d31a8f1b1b0720586 /lib/prune.js | |
parent | 2a85b159d20d15ce12ed250e4b5579a33704ad89 (diff) |
prune: check package.json before running
Fixes #3755.
Diffstat (limited to 'lib/prune.js')
-rw-r--r-- | lib/prune.js | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/prune.js b/lib/prune.js index 2afb2b998..0e13da13b 100644 --- a/lib/prune.js +++ b/lib/prune.js @@ -6,14 +6,26 @@ prune.usage = "npm prune" var readInstalled = require("read-installed") , npm = require("./npm.js") + , path = require("path") + , readJson = require("read-package-json") + , log = require("npmlog") prune.completion = require("./utils/completion/installed-deep.js") function prune (args, cb) { - readInstalled(npm.prefix, npm.config.get("depth"), function (er, data) { + //check if is a valid package.json file + var jsonFile = path.resolve(npm.dir, "..", "package.json" ) + readJson(jsonFile, log.warn, function (er, data) { if (er) return cb(er) - prune_(args, data, cb) + next() }) + + function next() { + readInstalled(npm.prefix, npm.config.get("depth"), function (er, data) { + if (er) return cb(er) + prune_(args, data, cb) + }) + } } function prune_ (args, data, cb) { |