Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaulo Cesar <pauloc062@gmail.com>2013-08-17 01:20:07 +0400
committerDomenic Denicola <domenic@domenicdenicola.com>2013-08-25 05:26:24 +0400
commitec82299a6cfb8df005e93bd33ceb8b206494467b (patch)
tree6a0a14e28b9208c17ac1fc7d31a8f1b1b0720586 /lib/prune.js
parent2a85b159d20d15ce12ed250e4b5579a33704ad89 (diff)
prune: check package.json before running
Fixes #3755.
Diffstat (limited to 'lib/prune.js')
-rw-r--r--lib/prune.js16
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) {