summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/rimraf
diff options
context:
space:
mode:
authorisaacs <i@izs.me>2013-02-06 08:39:27 -0800
committerisaacs <i@izs.me>2013-02-06 08:39:31 -0800
commit5aef65a98a9427bcd6f41d8f65235bd26883d2d7 (patch)
treef1e290db817cedc3af49d6f6423ca7033cbdee18 /deps/npm/node_modules/rimraf
parenta86ebbe2885fe6f2b6adeeaa95c8abc12d821d7b (diff)
downloadandroid-node-v8-5aef65a98a9427bcd6f41d8f65235bd26883d2d7.tar.gz
android-node-v8-5aef65a98a9427bcd6f41d8f65235bd26883d2d7.tar.bz2
android-node-v8-5aef65a98a9427bcd6f41d8f65235bd26883d2d7.zip
npm: Upgrade to v1.2.10
Diffstat (limited to 'deps/npm/node_modules/rimraf')
-rw-r--r--deps/npm/node_modules/rimraf/package.json13
-rw-r--r--deps/npm/node_modules/rimraf/rimraf.js36
-rw-r--r--deps/npm/node_modules/rimraf/test/test-fiber.js0
3 files changed, 35 insertions, 14 deletions
diff --git a/deps/npm/node_modules/rimraf/package.json b/deps/npm/node_modules/rimraf/package.json
index ce7e1ddcf0..679ee6b037 100644
--- a/deps/npm/node_modules/rimraf/package.json
+++ b/deps/npm/node_modules/rimraf/package.json
@@ -1,6 +1,6 @@
{
"name": "rimraf",
- "version": "2.1.1",
+ "version": "2.1.4",
"main": "rimraf.js",
"description": "A deep deletion module for node (like `rm -rf`)",
"author": {
@@ -13,7 +13,7 @@
"url": "https://github.com/isaacs/rimraf/raw/master/LICENSE"
},
"optionalDependencies": {
- "graceful-fs": "~1.1"
+ "graceful-fs": "~1"
},
"repository": {
"type": "git",
@@ -47,12 +47,9 @@
],
"readme": "A `rm -rf` for node.\n\nInstall with `npm install rimraf`, or just drop rimraf.js somewhere.\n\n## API\n\n`rimraf(f, callback)`\n\nThe callback will be called with an error if there is one. Certain\nerrors are handled for you:\n\n* `EBUSY` - rimraf will back off a maximum of opts.maxBusyTries times\n before giving up.\n* `EMFILE` - If too many file descriptors get opened, rimraf will\n patiently wait until more become available.\n\n\n## rimraf.sync\n\nIt can remove stuff synchronously, too. But that's not so good. Use\nthe async API. It's better.\n",
"readmeFilename": "README.md",
- "_id": "rimraf@2.1.1",
+ "_id": "rimraf@2.1.4",
"dependencies": {
- "graceful-fs": "~1.1"
+ "graceful-fs": "~1"
},
- "dist": {
- "shasum": "ee9cec7e2d796ef59ceaa5f3a3024c225e630c61"
- },
- "_from": "rimraf@2.1.1"
+ "_from": "rimraf@2"
}
diff --git a/deps/npm/node_modules/rimraf/rimraf.js b/deps/npm/node_modules/rimraf/rimraf.js
index 7fc291c674..ed915f982e 100644
--- a/deps/npm/node_modules/rimraf/rimraf.js
+++ b/deps/npm/node_modules/rimraf/rimraf.js
@@ -63,12 +63,26 @@ function rimraf_ (p, cb) {
if (er && er.code === "ENOENT")
return cb()
if (er && (er.code === "EPERM" || er.code === "EISDIR"))
- return rmdir(p, cb)
+ return rmdir(p, er, cb)
return cb(er)
})
}
-function rmdir (p, cb) {
+function rmdir (p, originalEr, cb) {
+ // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS)
+ // if we guessed wrong, and it's not a directory, then
+ // raise the original error.
+ fs.rmdir(p, function (er) {
+ if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST"))
+ rmkids(p, cb)
+ else if (er && er.code === "ENOTDIR")
+ cb(originalEr)
+ else
+ cb(er)
+ })
+}
+
+function rmkids(p, cb) {
fs.readdir(p, function (er, files) {
if (er)
return cb(er)
@@ -100,9 +114,19 @@ function rimrafSync (p) {
return
if (er.code !== "EPERM" && er.code !== "EISDIR")
throw er
- fs.readdirSync(p).forEach(function (f) {
- rimrafSync(path.join(p, f))
- })
- fs.rmdirSync(p)
+ try {
+ fs.rmdirSync(p)
+ } catch (er2) {
+ if (er2.code === "ENOENT")
+ return
+ if (er2.code === "ENOTDIR")
+ throw er
+ if (er2.code === "ENOTEMPTY") {
+ fs.readdirSync(p).forEach(function (f) {
+ rimrafSync(path.join(p, f))
+ })
+ fs.rmdirSync(p)
+ }
+ }
}
}
diff --git a/deps/npm/node_modules/rimraf/test/test-fiber.js b/deps/npm/node_modules/rimraf/test/test-fiber.js
deleted file mode 100644
index e69de29bb2..0000000000
--- a/deps/npm/node_modules/rimraf/test/test-fiber.js
+++ /dev/null