Browse Source

Properly update npm to 1.1.0-3

Thanks @mscdex for spotting this.
v0.7.4-release
isaacs 13 years ago
parent
commit
f98999cc16
  1. 9
      deps/npm/lib/install.js
  2. 44
      deps/npm/node_modules/graceful-fs/graceful-fs.js
  3. 4
      deps/npm/node_modules/graceful-fs/package.json

9
deps/npm/lib/install.js

@ -75,12 +75,15 @@ function install (args, cb_) {
output = output || require("./utils/output.js") output = output || require("./utils/output.js")
var tree = treeify(installed) var tree = treeify(installed)
, pretty = prettify(tree, installed) , pretty = prettify(tree, installed).trim()
output.write(pretty, function (er) { if (pretty) output.write(pretty, afterWrite)
else afterWrite()
function afterWrite (er) {
if (er) return cb_(er) if (er) return cb_(er)
save(where, installed, tree, pretty, cb_) save(where, installed, tree, pretty, cb_)
}) }
} }
// the /path/to/node_modules/.. // the /path/to/node_modules/..

44
deps/npm/node_modules/graceful-fs/graceful-fs.js

@ -210,3 +210,47 @@ if (!fs.lutimes) {
fs.lutimesSync = function () {} fs.lutimesSync = function () {}
} }
} }
// https://github.com/isaacs/node-graceful-fs/issues/4
// Chown should not fail on einval or eperm if non-root.
fs.chown = chownFix(fs.chown)
fs.fchown = chownFix(fs.fchown)
fs.lchown = chownFix(fs.lchown)
fs.chownSync = chownFixSync(fs.chownSync)
fs.fchownSync = chownFixSync(fs.fchownSync)
fs.lchownSync = chownFixSync(fs.lchownSync)
function chownFix (orig) {
if (!orig) return orig
return function (target, uid, gid, cb) {
return orig.call(fs, target, uid, gid, function (er, res) {
if (chownErOk(er)) er = null
cb(er, res)
})
}
}
function chownFixSync (orig) {
if (!orig) return orig
return function (target, uid, gid) {
try {
return orig.call(fs, target, uid, gid)
} catch (er) {
if (!chownErOk(er)) throw er
}
}
}
function chownErOk (er) {
// if there's no getuid, or if getuid() is something other than 0,
// and the error is EINVAL or EPERM, then just ignore it.
// This specific case is a silent failure in cp, install, tar,
// and most other unix tools that manage permissions.
// When running as root, or if other types of errors are encountered,
// then it's strict.
if (!er || (!process.getuid || process.getuid() !== 0)
&& (er.code === "EINVAL" || er.code === "EPERM")) return true
}

4
deps/npm/node_modules/graceful-fs/package.json

@ -2,14 +2,14 @@
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me)", "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me)",
"name": "graceful-fs", "name": "graceful-fs",
"description": "fs monkey-patching to avoid EMFILE and other problems", "description": "fs monkey-patching to avoid EMFILE and other problems",
"version": "1.1.2", "version": "1.1.5",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git://github.com/isaacs/node-graceful-fs.git" "url": "git://github.com/isaacs/node-graceful-fs.git"
}, },
"main": "graceful-fs.js", "main": "graceful-fs.js",
"engines": { "engines": {
"node": "0.4 || 0.5 || 0.6" "node": ">=0.4.0"
}, },
"dependencies": { "dependencies": {
"fast-list": "1" "fast-list": "1"

Loading…
Cancel
Save