diff options
author | isaacs <i@izs.me> | 2014-02-16 20:43:16 -0800 |
---|---|---|
committer | isaacs <i@izs.me> | 2014-02-16 20:43:16 -0800 |
commit | ec2fc4ca4d3eacaa3dc1db1673169b89233b9823 (patch) | |
tree | 0aa8a647e5111653bdf9c122182be93bf8823c7b /deps/npm/lib/utils/gently-rm.js | |
parent | 86b8d84811484763b251b9a8a2b9e673964ea6b5 (diff) | |
download | node-npm-v1.4.3.tar.gz |
npm: upgrade to 1.4.3npm-v1.4.3
Diffstat (limited to 'deps/npm/lib/utils/gently-rm.js')
-rw-r--r-- | deps/npm/lib/utils/gently-rm.js | 16 |
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) } |