diff options
author | isaacs <i@izs.me> | 2011-07-20 12:56:01 +0400 |
---|---|---|
committer | isaacs <i@izs.me> | 2011-07-20 12:58:33 +0400 |
commit | 98b6a1070aced5850e2a2827273000b6ad96b3bc (patch) | |
tree | da085a5926d7bcaa74ca306e2d19119bce6b08cd | |
parent | e7c70518e0537539f57981b007886254a0c714e4 (diff) |
Abstract out graceful-fs
42 files changed, 43 insertions, 73 deletions
diff --git a/.gitmodules b/.gitmodules index d6a607541..f69969509 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,3 +13,6 @@ [submodule "node_modules/minimatch"] path = node_modules/minimatch url = git://github.com/isaacs/minimatch.git +[submodule "node_modules/graceful-fs"] + path = node_modules/graceful-fs + url = git://github.com/isaacs/node-graceful-fs.git diff --git a/bin/npm.js b/bin/npm.js index 32d74b34e..a6c9808d0 100755 --- a/bin/npm.js +++ b/bin/npm.js @@ -4,7 +4,7 @@ var log = require("../lib/utils/log") log.waitForConfig() log.info("ok", "it worked if it ends with") -var fs = require("../lib/utils/graceful-fs") +var fs = require("graceful-fs") , path = require("path") , sys = require("../lib/utils/sys") , npm = require("../npm") diff --git a/lib/build.js b/lib/build.js index 3797eef63..9557b41cd 100644 --- a/lib/build.js +++ b/lib/build.js @@ -11,7 +11,7 @@ var npm = require("../npm") , log = require("./utils/log") , chain = require("./utils/chain") - , fs = require("./utils/graceful-fs") + , fs = require("graceful-fs") , path = require("path") , lifecycle = require("./utils/lifecycle") , readJson = require("./utils/read-json") diff --git a/lib/cache.js b/lib/cache.js index 6fda08700..9c8b08016 100644 --- a/lib/cache.js +++ b/lib/cache.js @@ -35,7 +35,7 @@ var mkdir = require("./utils/mkdir-p") , exec = require("./utils/exec") , fetch = require("./utils/fetch") , npm = require("../npm") - , fs = require("./utils/graceful-fs") + , fs = require("graceful-fs") , rm = require("./utils/rm-rf") , readJson = require("./utils/read-json") , registry = require("./utils/npm-registry-client") diff --git a/lib/completion.js b/lib/completion.js index 93744c1c5..b02422765 100644 --- a/lib/completion.js +++ b/lib/completion.js @@ -139,7 +139,7 @@ function completion (args, cb) { } function dumpScript (cb) { - var fs = require("./utils/graceful-fs") + var fs = require("graceful-fs") , path = require("path") , p = path.resolve(__dirname, "utils/completion.sh") diff --git a/lib/config.js b/lib/config.js index 76499d472..c3fed9922 100644 --- a/lib/config.js +++ b/lib/config.js @@ -11,7 +11,7 @@ var ini = require("./utils/ini") , log = require("./utils/log") , npm = require("../npm") , exec = require("./utils/exec") - , fs = require("./utils/graceful-fs") + , fs = require("graceful-fs") , dc , output = require("./utils/output") , types = require("./utils/config-defs").types diff --git a/lib/edit.js b/lib/edit.js index cb60fce48..33d2f10f5 100644 --- a/lib/edit.js +++ b/lib/edit.js @@ -9,7 +9,7 @@ edit.completion = require("./utils/completion/installed-shallow") var npm = require("../npm") , exec = require("./utils/exec") , path = require("path") - , fs = require("./utils/graceful-fs") + , fs = require("graceful-fs") , log = require("./utils/log") function edit (args, cb) { diff --git a/lib/explore.js b/lib/explore.js index ef24711bb..d5f262741 100644 --- a/lib/explore.js +++ b/lib/explore.js @@ -8,7 +8,7 @@ explore.completion = require("./utils/completion/installed-shallow") var npm = require("../npm") , exec = require("./utils/exec") , path = require("path") - , fs = require("./utils/graceful-fs") + , fs = require("graceful-fs") function explore (args, cb) { if (args.length < 1 || !args[0]) return cb(explore.usage) diff --git a/lib/help-search.js b/lib/help-search.js index fa00f8c6f..4655d5052 100644 --- a/lib/help-search.js +++ b/lib/help-search.js @@ -1,7 +1,7 @@ module.exports = helpSearch -var fs = require("./utils/graceful-fs") +var fs = require("graceful-fs") , output = require("./utils/output") , path = require("path") , asyncMap = require("./utils/async-map") diff --git a/lib/help.js b/lib/help.js index df548c0df..8a8bae1fa 100644 --- a/lib/help.js +++ b/lib/help.js @@ -6,7 +6,7 @@ help.completion = function (opts, cb) { getSections(cb) } -var fs = require("./utils/graceful-fs") +var fs = require("graceful-fs") , path = require("path") , exec = require("./utils/exec") , npm = require("../npm") diff --git a/lib/init.js b/lib/init.js index 3d1bd8db8..490a9b8f3 100644 --- a/lib/init.js +++ b/lib/init.js @@ -6,7 +6,7 @@ module.exports = init var prompt = require("./utils/prompt") , path = require("path") , readJson = require("./utils/read-json") - , fs = require("./utils/graceful-fs") + , fs = require("graceful-fs") , promiseChain = require("./utils/promise-chain") , exec = require("./utils/exec") , semver = require("semver") diff --git a/lib/install.js b/lib/install.js index d42dd13b5..44562502b 100644 --- a/lib/install.js +++ b/lib/install.js @@ -136,7 +136,7 @@ var npm = require("../npm") , readJson = require("./utils/read-json") , log = require("./utils/log") , path = require("path") - , fs = require("./utils/graceful-fs") + , fs = require("graceful-fs") , cache = require("./cache") , asyncMap = require("./utils/async-map") , chain = require("./utils/chain") diff --git a/lib/link.js b/lib/link.js index 58ce2d35e..4d7063668 100644 --- a/lib/link.js +++ b/lib/link.js @@ -4,7 +4,7 @@ var npm = require("../npm") , symlink = require("./utils/link") - , fs = require("./utils/graceful-fs") + , fs = require("graceful-fs") , log = require("./utils/log") , asyncMap = require("./utils/async-map") , chain = require("./utils/chain") diff --git a/lib/outdated.js b/lib/outdated.js index 9e1e2717a..f66a8fbc2 100644 --- a/lib/outdated.js +++ b/lib/outdated.js @@ -19,7 +19,7 @@ outdated.completion = require("./utils/completion/installed-deep") var path = require("path") - , fs = require("./utils/graceful-fs") + , fs = require("graceful-fs") , readJson = require("./utils/read-json") , cache = require("./cache") , asyncMap = require("./utils/async-map") diff --git a/lib/pack.js b/lib/pack.js index 4ed75419e..9fc8e79d8 100644 --- a/lib/pack.js +++ b/lib/pack.js @@ -8,7 +8,7 @@ var npm = require("../npm") , install = require("./install") , cache = require("./cache") , output = require("./utils/output") - , fs = require("./utils/graceful-fs") + , fs = require("graceful-fs") , chain = require("./utils/chain") , path = require("path") , relativize = require("./utils/relativize") diff --git a/lib/run-script.js b/lib/run-script.js index 86ac006b5..2a9a42f96 100644 --- a/lib/run-script.js +++ b/lib/run-script.js @@ -7,7 +7,7 @@ var lifecycle = require("./utils/lifecycle") , readJson = require("./utils/read-json") , log = require("./utils/log") , chain = require("./utils/chain") - , fs = require("./utils/graceful-fs") + , fs = require("graceful-fs") , asyncMap = require("./utils/async-map") runScript.usage = "npm run-script [<pkg>] <command>" diff --git a/lib/unbuild.js b/lib/unbuild.js index 175d74d48..ee53c4098 100644 --- a/lib/unbuild.js +++ b/lib/unbuild.js @@ -5,7 +5,7 @@ var readJson = require("./utils/read-json") , rm = require("./utils/rm-rf") , npm = require("../npm") , path = require("path") - , fs = require("./utils/graceful-fs") + , fs = require("graceful-fs") , lifecycle = require("./utils/lifecycle") , asyncMap = require("./utils/async-map") , chain = require("./utils/chain") diff --git a/lib/uninstall.js b/lib/uninstall.js index 451efd48f..8912c305d 100644 --- a/lib/uninstall.js +++ b/lib/uninstall.js @@ -11,7 +11,7 @@ uninstall.usage = "npm uninstall <name>[@<version> [<name>[@<version>] ...]" uninstall.completion = require("./utils/completion/installed-shallow") var rm = require("./utils/rm-rf") - , fs = require("./utils/graceful-fs") + , fs = require("graceful-fs") , log = require("./utils/log") , readJson = require("./utils/read-json") , path = require("path") diff --git a/lib/utils/completion/installed-shallow.js b/lib/utils/completion/installed-shallow.js index f5139cd95..77114c365 100644 --- a/lib/utils/completion/installed-shallow.js +++ b/lib/utils/completion/installed-shallow.js @@ -2,7 +2,7 @@ module.exports = installedShallow var npm = require("../../../npm") - , fs = require("../graceful-fs") + , fs = require("graceful-fs") , path = require("path") , readJson = require("../read-json") , asyncMap = require("../async-map") diff --git a/lib/utils/error-handler.js b/lib/utils/error-handler.js index 1b8d22a68..f6bc3e9e1 100644 --- a/lib/utils/error-handler.js +++ b/lib/utils/error-handler.js @@ -176,7 +176,7 @@ function exit (code) { } function writeLogFile (cb) { - var fs = require("./graceful-fs") + var fs = require("graceful-fs") , fstr = fs.createWriteStream("npm-debug.log") , sys = require("util") diff --git a/lib/utils/excludes.js b/lib/utils/excludes.js index d55c31fae..49c66ef6e 100644 --- a/lib/utils/excludes.js +++ b/lib/utils/excludes.js @@ -24,7 +24,7 @@ exports.test = test exports.filter = filter var path = require("path") - , fs = require("./graceful-fs") + , fs = require("graceful-fs") , minimatch = require("minimatch") , relativize = require("./relativize") , log = require("./log") diff --git a/lib/utils/fetch.js b/lib/utils/fetch.js index ed871ed3e..60beee02b 100644 --- a/lib/utils/fetch.js +++ b/lib/utils/fetch.js @@ -6,7 +6,7 @@ var http , https , url = require("url") , sys = require("./sys") - , fs = require("./graceful-fs") + , fs = require("graceful-fs") , get = require("./get") , set = require("./set") , log = require("./log") diff --git a/lib/utils/find-prefix.js b/lib/utils/find-prefix.js index 10d41e68c..aa097bc1c 100644 --- a/lib/utils/find-prefix.js +++ b/lib/utils/find-prefix.js @@ -2,7 +2,7 @@ module.exports = findPrefix -var fs = require("./graceful-fs") +var fs = require("graceful-fs") , path = require("path") , npm = require("../../npm") diff --git a/lib/utils/find.js b/lib/utils/find.js index 0f7c0c636..15945ee05 100644 --- a/lib/utils/find.js +++ b/lib/utils/find.js @@ -4,7 +4,7 @@ // provided. module.exports = find -var fs = require("./graceful-fs") +var fs = require("graceful-fs") , asyncMap = require("./async-map") , path = require("path") diff --git a/lib/utils/graceful-fs.js b/lib/utils/graceful-fs.js deleted file mode 100644 index 25ec6d631..000000000 --- a/lib/utils/graceful-fs.js +++ /dev/null @@ -1,34 +0,0 @@ - -// wrapper around the non-sync fs functions to gracefully handle -// having too many file descriptors open. Note that this is -// *only* possible because async patterns let one interject timeouts -// and other cleverness anywhere in the process without disrupting -// anything else. -var fs = require("fs") - , timeout = 0 - -Object.keys(fs) - .forEach(function (i) { - exports[i] = (typeof fs[i] !== "function") ? fs[i] - : (i.match(/^[A-Z]|^create|Sync$/)) ? function () { - return fs[i].apply(fs, arguments) - } - : graceful(fs[i]) - }) - -function graceful (fn) { return function GRACEFUL () { - var args = Array.prototype.slice.call(arguments) - , cb_ = args.pop() - args.push(cb) - function cb (er) { - if (er && er.message.match(/^EMFILE, Too many open files/)) { - setTimeout(function () { - GRACEFUL.apply(fs, args) - }, timeout ++) - return - } - timer = 0 - cb_.apply(null, arguments) - } - fn.apply(fs, args) -}} diff --git a/lib/utils/ini.js b/lib/utils/ini.js index 8d548fd6a..a827014e2 100644 --- a/lib/utils/ini.js +++ b/lib/utils/ini.js @@ -28,7 +28,7 @@ exports.defaultConfig = null Object.defineProperty(exports, "keys", { get : function () { return configList.keys }}) -var fs = require("./graceful-fs") +var fs = require("graceful-fs") , path = require("path") , sys = require("./sys") diff --git a/lib/utils/lifecycle.js b/lib/utils/lifecycle.js index 3f592ab4a..9d5d0cc90 100644 --- a/lib/utils/lifecycle.js +++ b/lib/utils/lifecycle.js @@ -7,7 +7,7 @@ var log = require("./log") , npm = require("../../npm") , path = require("path") , readJson = require("./read-json") - , fs = require("./graceful-fs") + , fs = require("graceful-fs") , chain = require("./chain") , asyncMap = require("./async-map") , constants = require("constants") diff --git a/lib/utils/link.js b/lib/utils/link.js index e5daa6727..f92706bb5 100644 --- a/lib/utils/link.js +++ b/lib/utils/link.js @@ -2,7 +2,7 @@ module.exports = link link.ifExists = linkIfExists -var fs = require("./graceful-fs") +var fs = require("graceful-fs") , chain = require("./chain") , mkdir = require("./mkdir-p") , rm = require("./rm-rf") diff --git a/lib/utils/load-package-defaults.js b/lib/utils/load-package-defaults.js index 8ee34ccee..35616a201 100644 --- a/lib/utils/load-package-defaults.js +++ b/lib/utils/load-package-defaults.js @@ -6,7 +6,7 @@ var path = require("path") , find = require("./find") , asyncMap = require("./async-map") , npm = require("../../npm") - , fs = require("./graceful-fs") + , fs = require("graceful-fs") function loadPackageDefaults (pkg, pkgDir, cb) { if (!pkg) return cb(new Error("no package to load defaults from!")) diff --git a/lib/utils/mkdir-p.js b/lib/utils/mkdir-p.js index d5043f5e5..e3a4fe009 100644 --- a/lib/utils/mkdir-p.js +++ b/lib/utils/mkdir-p.js @@ -1,6 +1,6 @@ var log = require("./log") - , fs = require("./graceful-fs") + , fs = require("graceful-fs") , path = require("path") , npm = require("../../npm") , exec = require("./exec") diff --git a/lib/utils/npm-registry-client/get.js b/lib/utils/npm-registry-client/get.js index 7bf587de8..a879524e9 100644 --- a/lib/utils/npm-registry-client/get.js +++ b/lib/utils/npm-registry-client/get.js @@ -2,7 +2,7 @@ module.exports = get var GET = require("./request").GET - , fs = require("../graceful-fs") + , fs = require("graceful-fs") , npm = require("../../../npm") , path = require("path") , log = require("../log") diff --git a/lib/utils/npm-registry-client/request.js b/lib/utils/npm-registry-client/request.js index 5e03ced59..8b0880571 100644 --- a/lib/utils/npm-registry-client/request.js +++ b/lib/utils/npm-registry-client/request.js @@ -11,7 +11,7 @@ var npm = require("../../../npm") , url = require("url") , log = require("../log") , ini = require("../ini") - , fs = require("../graceful-fs") + , fs = require("graceful-fs") , rm = require("../rm-rf") , asyncMap = require("../async-map") , proxyify = require("../proxyify") diff --git a/lib/utils/read-installed.js b/lib/utils/read-installed.js index 4be248745..b968fe0f5 100644 --- a/lib/utils/read-installed.js +++ b/lib/utils/read-installed.js @@ -88,7 +88,7 @@ as far as the left-most node_modules folder. var npm = require("../../npm") - , fs = require("./graceful-fs") + , fs = require("graceful-fs") , path = require("path") , asyncMap = require("./async-map") , semver = require("semver") diff --git a/lib/utils/read-json.js b/lib/utils/read-json.js index a4a445f2a..f7b06568f 100644 --- a/lib/utils/read-json.js +++ b/lib/utils/read-json.js @@ -4,7 +4,7 @@ readJson.processJson = processJson readJson.unParsePeople = unParsePeople readJson.parsePeople = parsePeople -var fs = require("./graceful-fs") +var fs = require("graceful-fs") , semver = require("semver") , path = require("path") , log = require("./log") diff --git a/lib/utils/rm-rf.js b/lib/utils/rm-rf.js index a46bcc936..ae9ed190e 100644 --- a/lib/utils/rm-rf.js +++ b/lib/utils/rm-rf.js @@ -3,7 +3,7 @@ module.exports = rm -var fs = require("./graceful-fs") +var fs = require("graceful-fs") , path = require("path") , failedToRemove = [] , log = require("./log") diff --git a/lib/utils/sha.js b/lib/utils/sha.js index 3c98a9059..9a54a4d74 100644 --- a/lib/utils/sha.js +++ b/lib/utils/sha.js @@ -1,5 +1,5 @@ -var fs = require("./graceful-fs") +var fs = require("graceful-fs") , crypto = require("crypto") , log = require("./log") , binding diff --git a/lib/utils/tar.js b/lib/utils/tar.js index 0ae7b0e49..8096c0785 100644 --- a/lib/utils/tar.js +++ b/lib/utils/tar.js @@ -4,7 +4,7 @@ var FMODE = exports.FMODE = 0644 , DMODE = exports.DMODE = 0755 , npm = require("../../npm") - , fs = require("./graceful-fs") + , fs = require("graceful-fs") , exec = require("./exec") , spawn = exec.spawn , pipe = exec.pipe diff --git a/lib/utils/which.js b/lib/utils/which.js index 93cf7342f..fc272d216 100644 --- a/lib/utils/which.js +++ b/lib/utils/which.js @@ -2,7 +2,7 @@ module.exports = which which.sync = whichSync var path = require("path") - , fs = require("./graceful-fs") + , fs = require("graceful-fs") // console.log(process.execPath) // console.log(process.argv) diff --git a/lib/version.js b/lib/version.js index 6e4c9a89f..d88a2e420 100644 --- a/lib/version.js +++ b/lib/version.js @@ -6,7 +6,7 @@ var exec = require("./utils/exec") , readJson = require("./utils/read-json") , semver = require("semver") , path = require("path") - , fs = require("./utils/graceful-fs") + , fs = require("graceful-fs") , chain = require("./utils/chain") , log = require("./utils/log") , npm = require("../npm") diff --git a/node_modules/graceful-fs b/node_modules/graceful-fs new file mode 160000 +Subproject 9d7cd989c77b39ccd58ce147e2fe86ca5aeafe0 @@ -16,7 +16,7 @@ var EventEmitter = require("events").EventEmitter , get = require("./lib/utils/get") , ini = require("./lib/utils/ini") , log = require("./lib/utils/log") - , fs = require("./lib/utils/graceful-fs") + , fs = require("graceful-fs") , path = require("path") , abbrev = require("abbrev") , which = require("./lib/utils/which") diff --git a/package.json b/package.json index 4ffb8f6ab..c2ac36700 100644 --- a/package.json +++ b/package.json @@ -26,11 +26,12 @@ , "dependencies" : { "semver" : "1" , "abbrev" : "1" + , "graceful-fs" : "1" , "minimatch" : "0" , "nopt" : "1" , "node-uuid" : "1.2" } , "bundleDependencies" : - [ "semver", "abbrev", "minimatch", "nopt", "node-uuid" ] + [ "semver", "abbrev", "graceful-fs", "minimatch", "nopt", "node-uuid" ] , "devDependencies" : { "ronn" : "" } , "engines" : { "node" : "0.4 || 0.5", "npm" : "1" } , "scripts" : { "test" : "./test/run.sh" |