diff options
author | isaacs <i@izs.me> | 2013-02-06 08:39:27 -0800 |
---|---|---|
committer | isaacs <i@izs.me> | 2013-02-06 08:39:31 -0800 |
commit | 5aef65a98a9427bcd6f41d8f65235bd26883d2d7 (patch) | |
tree | f1e290db817cedc3af49d6f6423ca7033cbdee18 /deps/npm/node_modules/rimraf | |
parent | a86ebbe2885fe6f2b6adeeaa95c8abc12d821d7b (diff) | |
download | android-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.json | 13 | ||||
-rw-r--r-- | deps/npm/node_modules/rimraf/rimraf.js | 36 | ||||
-rw-r--r-- | deps/npm/node_modules/rimraf/test/test-fiber.js | 0 |
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 |