summaryrefslogtreecommitdiff
path: root/deps/npm/lib/utils/gently-rm.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/lib/utils/gently-rm.js')
-rw-r--r--deps/npm/lib/utils/gently-rm.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/deps/npm/lib/utils/gently-rm.js b/deps/npm/lib/utils/gently-rm.js
index f24309a08..241740fed 100644
--- a/deps/npm/lib/utils/gently-rm.js
+++ b/deps/npm/lib/utils/gently-rm.js
@@ -9,6 +9,22 @@ var rimraf = require("rimraf")
, path = require("path")
function gentlyRm (p, gently, cb) {
+ if (!cb) cb = gently, gently = null
+
+ // never rm the root, prefix, or bin dirs.
+ // just a safety precaution.
+ p = path.resolve(p)
+ if (p === npm.dir ||
+ p === npm.root ||
+ p === npm.bin ||
+ p === npm.prefix ||
+ p === npm.globalDir ||
+ p === npm.globalRoot ||
+ p === npm.globalBin ||
+ p === npm.globalPrefix) {
+ return cb(new Error("May not delete: " + p))
+ }
+
if (npm.config.get("force") || !gently) {
return rimraf(p, cb)
}