aboutsummaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/npm-lifecycle
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/npm-lifecycle')
-rw-r--r--deps/npm/node_modules/npm-lifecycle/CHANGELOG.md56
-rw-r--r--deps/npm/node_modules/npm-lifecycle/index.js90
-rw-r--r--deps/npm/node_modules/npm-lifecycle/package.json40
3 files changed, 135 insertions, 51 deletions
diff --git a/deps/npm/node_modules/npm-lifecycle/CHANGELOG.md b/deps/npm/node_modules/npm-lifecycle/CHANGELOG.md
index 7e7bc92e29..1a8c916bf3 100644
--- a/deps/npm/node_modules/npm-lifecycle/CHANGELOG.md
+++ b/deps/npm/node_modules/npm-lifecycle/CHANGELOG.md
@@ -2,6 +2,62 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
+<a name="3.1.2"></a>
+## [3.1.2](https://github.com/npm/lifecycle/compare/v3.1.1...v3.1.2) (2019-07-22)
+
+
+### Bug Fixes
+
+* do not exclude /path/ from process.env copying ([53e6318](https://github.com/npm/lifecycle/commit/53e6318))
+
+
+
+<a name="3.1.0"></a>
+# [3.1.0](https://github.com/npm/lifecycle/compare/v3.0.0...v3.1.0) (2019-07-17)
+
+
+### Bug Fixes
+
+* remove procInterrupt listener on SIGINT in procError ([ea18ed2](https://github.com/npm/lifecycle/commit/ea18ed2)), closes [#36](https://github.com/npm/lifecycle/issues/36) [#11](https://github.com/npm/lifecycle/issues/11) [#18](https://github.com/npm/lifecycle/issues/18)
+* set only one PATH env variable for child proc ([3aaf954](https://github.com/npm/lifecycle/commit/3aaf954)), closes [#22](https://github.com/npm/lifecycle/issues/22) [#25](https://github.com/npm/lifecycle/issues/25)
+
+
+### Features
+
+* **process.env.path:** Use platform specific path casing if present ([5523951](https://github.com/npm/lifecycle/commit/5523951)), closes [#29](https://github.com/npm/lifecycle/issues/29) [#30](https://github.com/npm/lifecycle/issues/30)
+
+
+
+<a name="3.0.0"></a>
+# [3.0.0](https://github.com/npm/lifecycle/compare/v2.1.1...v3.0.0) (2019-07-10)
+
+
+* node-gyp@5.0.2 ([3c5aae6](https://github.com/npm/lifecycle/commit/3c5aae6))
+
+
+### BREAKING CHANGES
+
+* requires modifying the version of node-gyp in npm cli.
+
+Required for https://github.com/npm/cli/pull/208
+Fix: https://github.com/npm/npm-lifecycle/issues/37
+Close: https://github.com/npm/npm-lifecycle/issues/38
+PR-URL: https://github.com/npm/npm-lifecycle/pull/38
+Credit: @irega
+Reviewed-by: @isaacs
+
+
+
+<a name="2.1.1"></a>
+## [2.1.1](https://github.com/npm/lifecycle/compare/v2.1.0...v2.1.1) (2019-05-08)
+
+
+### Bug Fixes
+
+* **test:** update postinstall script for fixture ([220cd70](https://github.com/npm/lifecycle/commit/220cd70))
+
+
+
<a name="2.1.0"></a>
# [2.1.0](https://github.com/npm/lifecycle/compare/v2.0.3...v2.1.0) (2018-08-13)
diff --git a/deps/npm/node_modules/npm-lifecycle/index.js b/deps/npm/node_modules/npm-lifecycle/index.js
index 4eb83255a9..0972870b18 100644
--- a/deps/npm/node_modules/npm-lifecycle/index.js
+++ b/deps/npm/node_modules/npm-lifecycle/index.js
@@ -4,6 +4,9 @@ exports = module.exports = lifecycle
exports.makeEnv = makeEnv
exports._incorrectWorkingDirectory = _incorrectWorkingDirectory
+// for testing
+const platform = process.env.__TESTING_FAKE_PLATFORM__ || process.platform
+const isWindows = platform === 'win32'
const spawn = require('./lib/spawn')
const path = require('path')
const Stream = require('stream').Stream
@@ -18,17 +21,28 @@ const resolveFrom = require('resolve-from')
const DEFAULT_NODE_GYP_PATH = resolveFrom(__dirname, 'node-gyp/bin/node-gyp')
const hookStatCache = new Map()
-let PATH = 'PATH'
-
-// windows calls it's path 'Path' usually, but this is not guaranteed.
-if (process.platform === 'win32') {
- PATH = 'Path'
- Object.keys(process.env).forEach(function (e) {
- if (e.match(/^PATH$/i)) {
- PATH = e
- }
- })
+let PATH = isWindows ? 'Path' : 'PATH'
+exports._pathEnvName = PATH
+const delimiter = path.delimiter
+
+// windows calls its path 'Path' usually, but this is not guaranteed.
+// merge them all together in the order they appear in the object.
+const mergePath = env =>
+ Object.keys(env).filter(p => /^path$/i.test(p) && env[p])
+ .map(p => env[p].split(delimiter))
+ .reduce((set, p) => set.concat(p.filter(p => !set.includes(p))), [])
+ .join(delimiter)
+exports._mergePath = mergePath
+
+const setPathEnv = (env, path) => {
+ // first ensure that the canonical value is set.
+ env[PATH] = path
+ // also set any other case values, because windows.
+ Object.keys(env)
+ .filter(p => p !== PATH && /^path$/i.test(p))
+ .forEach(p => { env[p] = path })
}
+exports._setPathEnv = setPathEnv
function logid (pkg, stage) {
return pkg._id + '~' + stage + ':'
@@ -120,8 +134,10 @@ function lifecycle_ (pkg, stage, wd, opts, env, cb) {
pathArr.push(path.dirname(process.execPath))
}
- if (env[PATH]) pathArr.push(env[PATH])
- env[PATH] = pathArr.join(process.platform === 'win32' ? ';' : ':')
+ const existingPath = mergePath(env)
+ if (existingPath) pathArr.push(existingPath)
+ const envPath = pathArr.join(isWindows ? ';' : ':')
+ setPathEnv(env, envPath)
var packageLifecycle = pkg.scripts && pkg.scripts.hasOwnProperty(stage)
@@ -164,10 +180,9 @@ function shouldPrependCurrentNodeDirToPATH (opts) {
var isDifferentNodeInPath
- var isWindows = process.platform === 'win32'
var foundExecPath
try {
- foundExecPath = which.sync(path.basename(process.execPath), {pathExt: isWindows ? ';' : ':'})
+ foundExecPath = which.sync(path.basename(process.execPath), { pathExt: isWindows ? ';' : ':' })
// Apply `fs.realpath()` here to avoid false positives when `node` is a symlinked executable.
isDifferentNodeInPath = fs.realpathSync(process.execPath).toUpperCase() !==
fs.realpathSync(foundExecPath).toUpperCase()
@@ -242,7 +257,7 @@ function runCmd (note, cmd, pkg, env, stage, wd, opts, cb) {
}
opts.log.verbose('lifecycle', logid(pkg, stage), 'unsafe-perm in lifecycle', unsafe)
- if (process.platform === 'win32') {
+ if (isWindows) {
unsafe = true
}
@@ -255,14 +270,8 @@ function runCmd (note, cmd, pkg, env, stage, wd, opts, cb) {
}
}
-function runCmd_ (cmd, pkg, env, wd, opts, stage, unsafe, uid, gid, cb_) {
- function cb (er) {
- cb_.apply(null, arguments)
- opts.log.resume()
- process.nextTick(dequeue)
- }
-
- var conf = {
+const getSpawnArgs = ({ cmd, wd, opts, uid, gid, unsafe, env }) => {
+ const conf = {
cwd: wd,
env: env,
stdio: opts.stdio || [ 0, 1, 2 ]
@@ -273,24 +282,40 @@ function runCmd_ (cmd, pkg, env, wd, opts, stage, unsafe, uid, gid, cb_) {
conf.gid = gid ^ 0
}
- var sh = 'sh'
- var shFlag = '-c'
-
- var customShell = opts.scriptShell
+ const customShell = opts.scriptShell
+ let sh = 'sh'
+ let shFlag = '-c'
if (customShell) {
sh = customShell
- } else if (process.platform === 'win32') {
+ } else if (isWindows || opts._TESTING_FAKE_WINDOWS_) {
sh = process.env.comspec || 'cmd'
- shFlag = '/d /s /c'
- conf.windowsVerbatimArguments = true
+ // '/d /s /c' is used only for cmd.exe.
+ if (/^(?:.*\\)?cmd(?:\.exe)?$/i.test(sh)) {
+ shFlag = '/d /s /c'
+ conf.windowsVerbatimArguments = true
+ }
}
+ return [sh, [shFlag, cmd], conf]
+}
+
+exports._getSpawnArgs = getSpawnArgs
+
+function runCmd_ (cmd, pkg, env, wd, opts, stage, unsafe, uid, gid, cb_) {
+ function cb (er) {
+ cb_.apply(null, arguments)
+ opts.log.resume()
+ process.nextTick(dequeue)
+ }
+
+ const [sh, args, conf] = getSpawnArgs({ cmd, wd, opts, uid, gid, unsafe, env })
+
opts.log.verbose('lifecycle', logid(pkg, stage), 'PATH:', env[PATH])
opts.log.verbose('lifecycle', logid(pkg, stage), 'CWD:', wd)
- opts.log.silly('lifecycle', logid(pkg, stage), 'Args:', [shFlag, cmd])
+ opts.log.silly('lifecycle', logid(pkg, stage), 'Args:', args)
- var proc = spawn(sh, [shFlag, cmd], conf, opts.log)
+ var proc = spawn(sh, args, conf, opts.log)
proc.on('error', procError)
proc.on('close', function (code, signal) {
@@ -333,6 +358,7 @@ function runCmd_ (cmd, pkg, env, wd, opts, stage, unsafe, uid, gid, cb_) {
process.removeListener('SIGTERM', procKill)
process.removeListener('SIGTERM', procInterupt)
process.removeListener('SIGINT', procKill)
+ process.removeListener('SIGINT', procInterupt)
return cb(er)
}
function procKill () {
diff --git a/deps/npm/node_modules/npm-lifecycle/package.json b/deps/npm/node_modules/npm-lifecycle/package.json
index 6f63b06fd5..80cbae3a5f 100644
--- a/deps/npm/node_modules/npm-lifecycle/package.json
+++ b/deps/npm/node_modules/npm-lifecycle/package.json
@@ -1,29 +1,30 @@
{
- "_from": "npm-lifecycle@2.1.0",
- "_id": "npm-lifecycle@2.1.0",
+ "_from": "npm-lifecycle@3.1.2",
+ "_id": "npm-lifecycle@3.1.2",
"_inBundle": false,
- "_integrity": "sha512-QbBfLlGBKsktwBZLj6AviHC6Q9Y3R/AY4a2PYSIRhSKSS0/CxRyD/PfxEX6tPeOCXQgMSNdwGeECacstgptc+g==",
+ "_integrity": "sha512-nhfOcoTHrW1lJJlM2o77vTE2RWR4YOVyj7YzmY0y5itsMjEuoJHteio/ez0BliENEPsNxIUQgwhyEW9dShj3Ww==",
"_location": "/npm-lifecycle",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
- "raw": "npm-lifecycle@2.1.0",
+ "raw": "npm-lifecycle@3.1.2",
"name": "npm-lifecycle",
"escapedName": "npm-lifecycle",
- "rawSpec": "2.1.0",
+ "rawSpec": "3.1.2",
"saveSpec": null,
- "fetchSpec": "2.1.0"
+ "fetchSpec": "3.1.2"
},
"_requiredBy": [
"#USER",
"/",
- "/libcipm"
+ "/libcipm",
+ "/libnpm"
],
- "_resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-2.1.0.tgz",
- "_shasum": "1eda2eedb82db929e3a0c50341ab0aad140ed569",
- "_spec": "npm-lifecycle@2.1.0",
- "_where": "/Users/zkat/Documents/code/work/npm",
+ "_resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-3.1.2.tgz",
+ "_shasum": "06f2253ea3b9e122ce3e55e3496670a810afcc84",
+ "_spec": "npm-lifecycle@3.1.2",
+ "_where": "/Users/isaacs/dev/npm/cli",
"author": {
"name": "Mike Sherov"
},
@@ -33,8 +34,8 @@
"bundleDependencies": false,
"dependencies": {
"byline": "^5.0.0",
- "graceful-fs": "^4.1.11",
- "node-gyp": "^3.8.0",
+ "graceful-fs": "^4.1.15",
+ "node-gyp": "^5.0.2",
"resolve-from": "^4.0.0",
"slide": "^1.1.6",
"uid-number": "0.0.6",
@@ -44,11 +45,11 @@
"deprecated": false,
"description": "JavaScript package lifecycle hook runner",
"devDependencies": {
- "nyc": "^12.0.2",
- "sinon": "^6.1.5",
- "standard": "^11.0.1",
+ "nyc": "^14.1.0",
+ "sinon": "^7.2.3",
+ "standard": "^12.0.1",
"standard-version": "^4.4.0",
- "tap": "^12.0.1",
+ "tap": "^12.7.0",
"weallbehave": "^1.2.0",
"weallcontribute": "^1.0.8"
},
@@ -76,9 +77,10 @@
"prerelease": "npm t",
"pretest": "standard",
"release": "standard-version -s",
- "test": "tap -J --coverage test/*.js",
+ "snap": "TAP_SNAPSHOT=1 npm test",
+ "test": "tap -J --cov test/*.js",
"update-coc": "weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'",
"update-contrib": "weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'"
},
- "version": "2.1.0"
+ "version": "3.1.2"
}