summaryrefslogtreecommitdiff
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.md21
-rw-r--r--deps/npm/node_modules/npm-lifecycle/README.md5
-rw-r--r--deps/npm/node_modules/npm-lifecycle/index.js17
-rwxr-xr-xdeps/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp6
-rwxr-xr-xdeps/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp.cmd5
-rw-r--r--deps/npm/node_modules/npm-lifecycle/node_modules/byline/LICENSE19
-rw-r--r--deps/npm/node_modules/npm-lifecycle/node_modules/byline/README.md147
-rw-r--r--deps/npm/node_modules/npm-lifecycle/node_modules/byline/lib/byline.js155
-rw-r--r--deps/npm/node_modules/npm-lifecycle/node_modules/byline/package.json56
-rw-r--r--deps/npm/node_modules/npm-lifecycle/node_modules/resolve-from/index.js47
-rw-r--r--deps/npm/node_modules/npm-lifecycle/node_modules/resolve-from/license9
-rw-r--r--deps/npm/node_modules/npm-lifecycle/node_modules/resolve-from/package.json66
-rw-r--r--deps/npm/node_modules/npm-lifecycle/node_modules/resolve-from/readme.md72
-rw-r--r--deps/npm/node_modules/npm-lifecycle/package.json31
14 files changed, 641 insertions, 15 deletions
diff --git a/deps/npm/node_modules/npm-lifecycle/CHANGELOG.md b/deps/npm/node_modules/npm-lifecycle/CHANGELOG.md
index 6d1ee859ff..84effd0a30 100644
--- a/deps/npm/node_modules/npm-lifecycle/CHANGELOG.md
+++ b/deps/npm/node_modules/npm-lifecycle/CHANGELOG.md
@@ -2,6 +2,27 @@
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="2.0.0"></a>
+# [2.0.0](https://github.com/npm/lifecycle/compare/v1.0.3...v2.0.0) (2017-11-17)
+
+
+### Features
+
+* **node-gyp:** use own node-gyp ([ae94ed2](https://github.com/npm/lifecycle/commit/ae94ed2))
+* **nodeOptions:** add "nodeOptions" option to set NODE_OPTIONS for child ([#7](https://github.com/npm/lifecycle/issues/7)) ([2eb7a38](https://github.com/npm/lifecycle/commit/2eb7a38))
+* **stdio:** add child process io options and default logging of piped stdout/err ([#3](https://github.com/npm/lifecycle/issues/3)) ([7b8281a](https://github.com/npm/lifecycle/commit/7b8281a))
+
+
+### BREAKING CHANGES
+
+* **node-gyp:** Previously you had to bring your own node-gyp AND you had
+to provide access the way npm does, by having a `bin` dir with a
+`node-gyp-bin` in it.
+
+Fixes: #4
+
+
+
<a name="1.0.3"></a>
## [1.0.3](https://github.com/npm/lifecycle/compare/v1.0.2...v1.0.3) (2017-09-01)
diff --git a/deps/npm/node_modules/npm-lifecycle/README.md b/deps/npm/node_modules/npm-lifecycle/README.md
index e864593bff..d0d515c532 100644
--- a/deps/npm/node_modules/npm-lifecycle/README.md
+++ b/deps/npm/node_modules/npm-lifecycle/README.md
@@ -38,6 +38,11 @@ jump in if you'd like to, or even ask us questions if something isn't clear.
#### <a name="lifecycle"></a> `> lifecycle(name, pkg, wd, [opts]) -> Promise`
+##### Arguments
+
+* `opts.stdio` - the [stdio](https://nodejs.org/api/child_process.html#child_process_options_stdio)
+passed to the child process. `[0, 1, 2]` by default.
+
##### Example
```javascript
diff --git a/deps/npm/node_modules/npm-lifecycle/index.js b/deps/npm/node_modules/npm-lifecycle/index.js
index be5eadb3e8..040269be40 100644
--- a/deps/npm/node_modules/npm-lifecycle/index.js
+++ b/deps/npm/node_modules/npm-lifecycle/index.js
@@ -12,6 +12,10 @@ const chain = require('slide').chain
const uidNumber = require('uid-number')
const umask = require('umask')
const which = require('which')
+const byline = require('byline')
+const resolveFrom = require('resolve-from')
+
+const DEFAULT_NODE_GYP_PATH = resolveFrom(__dirname, 'node-gyp/bin/node-gyp')
let PATH = 'PATH'
@@ -61,6 +65,7 @@ function lifecycle (pkg, stage, wd, opts) {
env.npm_node_execpath = env.NODE = env.NODE || process.execPath
env.npm_execpath = require.main.filename
env.INIT_CWD = process.cwd()
+ env.npm_config_node_gyp = env.npm_config_node_gyp || DEFAULT_NODE_GYP_PATH
// 'nobody' typically doesn't have permission to write to /tmp
// even if it's never used, sh freaks out.
@@ -91,7 +96,7 @@ function lifecycle_ (pkg, stage, wd, opts, env, cb) {
// we also unshift the bundled node-gyp-bin folder so that
// the bundled one will be used for installing things.
- pathArr.unshift(path.join(__dirname, '..', '..', 'bin', 'node-gyp-bin'))
+ pathArr.unshift(path.join(__dirname, 'node-gyp-bin'))
if (shouldPrependCurrentNodeDirToPATH(opts)) {
// prefer current node interpreter in child scripts
@@ -244,7 +249,7 @@ function runCmd_ (cmd, pkg, env, wd, opts, stage, unsafe, uid, gid, cb_) {
var conf = {
cwd: wd,
env: env,
- stdio: [ 0, 1, 2 ]
+ stdio: opts.stdio || [ 0, 1, 2 ]
}
if (!unsafe) {
@@ -282,6 +287,12 @@ function runCmd_ (cmd, pkg, env, wd, opts, stage, unsafe, uid, gid, cb_) {
}
procError(er)
})
+ byline(proc.stdout).on('data', function (data) {
+ opts.log.verbose('lifecycle', logid(pkg, stage), 'stdout', data.toString())
+ })
+ byline(proc.stderr).on('data', function (data) {
+ opts.log.verbose('lifecycle', logid(pkg, stage), 'stderr', data.toString())
+ })
process.once('SIGTERM', procKill)
process.once('SIGINT', procInterupt)
@@ -355,6 +366,8 @@ function makeEnv (data, opts, prefix, env) {
)
}
+ if (opts.nodeOptions) env.NODE_OPTIONS = opts.nodeOptions
+
for (i in data) {
if (i.charAt(0) !== '_') {
var envKey = (prefix + i).replace(/[^a-zA-Z0-9_]/g, '_')
diff --git a/deps/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp b/deps/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp
new file mode 100755
index 0000000000..70efb6f339
--- /dev/null
+++ b/deps/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp
@@ -0,0 +1,6 @@
+#!/usr/bin/env sh
+if [ "x$npm_config_node_gyp" = "x" ]; then
+ node "`dirname "$0"`/../../node_modules/node-gyp/bin/node-gyp.js" "$@"
+else
+ "$npm_config_node_gyp" "$@"
+fi
diff --git a/deps/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp.cmd b/deps/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp.cmd
new file mode 100755
index 0000000000..083c9c58a5
--- /dev/null
+++ b/deps/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp.cmd
@@ -0,0 +1,5 @@
+if not defined npm_config_node_gyp (
+ node "%~dp0\..\..\node_modules\node-gyp\bin\node-gyp.js" %*
+) else (
+ node "%npm_config_node_gyp%" %*
+)
diff --git a/deps/npm/node_modules/npm-lifecycle/node_modules/byline/LICENSE b/deps/npm/node_modules/npm-lifecycle/node_modules/byline/LICENSE
new file mode 100644
index 0000000000..68094b94af
--- /dev/null
+++ b/deps/npm/node_modules/npm-lifecycle/node_modules/byline/LICENSE
@@ -0,0 +1,19 @@
+node-byline (C) 2011-2015 John Hewson
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to
+deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+sell copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+IN THE SOFTWARE. \ No newline at end of file
diff --git a/deps/npm/node_modules/npm-lifecycle/node_modules/byline/README.md b/deps/npm/node_modules/npm-lifecycle/node_modules/byline/README.md
new file mode 100644
index 0000000000..f5a0644095
--- /dev/null
+++ b/deps/npm/node_modules/npm-lifecycle/node_modules/byline/README.md
@@ -0,0 +1,147 @@
+# byline — buffered stream for reading lines
+
+![npm package](https://nodei.co/npm/byline.png?downloads=true&downloadRank=true)
+
+`byline` is a simple module providing a `LineStream`.
+
+- node v0.10 `streams2` (transform stream)
+- supports `pipe`
+- supports both UNIX and Windows line endings
+- supports [Unicode UTS #18 line boundaries](http://www.unicode.org/reports/tr18/#Line_Boundaries)
+- can wrap any readable stream
+- can be used as a readable-writable "through-stream" (transform stream)
+- super-simple: `stream = byline(stream);`
+
+## Install
+
+ npm install byline
+
+or from source:
+
+ git clone git://github.com/jahewson/node-byline.git
+ cd node-byline
+ npm link
+
+# Convenience API
+
+The `byline` module can be used as a function to quickly wrap a readable stream:
+
+```javascript
+var fs = require('fs'),
+ byline = require('byline');
+
+var stream = byline(fs.createReadStream('sample.txt', { encoding: 'utf8' }));
+```
+
+The `data` event then emits lines:
+
+```javascript
+stream.on('data', function(line) {
+ console.log(line);
+});
+```
+
+# Standard API
+
+You just need to add one line to wrap your readable `Stream` with a `LineStream`.
+
+```javascript
+var fs = require('fs'),
+ byline = require('byline');
+
+var stream = fs.createReadStream('sample.txt');
+stream = byline.createStream(stream);
+
+stream.on('data', function(line) {
+ console.log(line);
+});
+```
+
+# Piping
+
+`byline` supports `pipe` (though it strips the line endings, of course).
+
+```javascript
+var stream = fs.createReadStream('sample.txt');
+stream = byline.createStream(stream);
+stream.pipe(fs.createWriteStream('nolines.txt'));
+```
+
+Alternatively, you can create a readable/writable "through-stream" which doesn't wrap any specific
+stream:
+
+```javascript
+var stream = fs.createReadStream('sample.txt');
+stream = byline.createStream(stream);
+stream.pipe(fs.createWriteStream('nolines.txt'));
+
+var input = fs.createReadStream('LICENSE');
+var lineStream = byline.createStream();
+input.pipe(lineStream);
+
+var output = fs.createWriteStream('test.txt');
+lineStream.pipe(output);
+```
+
+# Streams2 API
+
+Node v0.10 added a new streams2 API. This allows the stream to be used in non-flowing mode and is
+preferred over the legacy pause() and resume() methods.
+
+```javascript
+var stream = fs.createReadStream('sample.txt');
+stream = byline.createStream(stream);
+
+stream.on('readable', function() {
+ var line;
+ while (null !== (line = stream.read())) {
+ console.log(line);
+ }
+});
+```
+
+# Transform Stream
+
+The `byline` transform stream can be directly manipulated like so:
+
+```javascript
+var LineStream = require('byline').LineStream;
+
+var input = fs.createReadStream('sample.txt');
+var output = fs.createWriteStream('nolines.txt');
+
+var lineStream = new LineStream();
+input.pipe(lineStream);
+lineStream.pipe(output);
+
+```
+
+# Empty Lines
+
+By default byline skips empty lines, if you want to keep them, pass the `keepEmptyLines` option in
+the call to `byline.createStream(stream, options)` or `byline(stream, options)`.
+
+# Tests
+
+ npm test
+
+# v0.8
+
+If you want to use `node-byline` with node v0.8 then you can use the 2.1.x series. Simply use the
+following in your `package.json`:
+
+```javascript
+ "dependencies": {
+ "byline": ">=2.1.0 <3.0.0"
+},
+```
+
+# Simple
+Unlike other modules (of which there are many), `byline` contains no:
+
+- monkeypatching
+- dependencies
+- non-standard 'line' events which break `pipe`
+- limitations to only file streams
+- CoffeeScript
+- unnecessary code
diff --git a/deps/npm/node_modules/npm-lifecycle/node_modules/byline/lib/byline.js b/deps/npm/node_modules/npm-lifecycle/node_modules/byline/lib/byline.js
new file mode 100644
index 0000000000..7612632048
--- /dev/null
+++ b/deps/npm/node_modules/npm-lifecycle/node_modules/byline/lib/byline.js
@@ -0,0 +1,155 @@
+// Copyright (C) 2011-2015 John Hewson
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to
+// deal in the Software without restriction, including without limitation the
+// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+// sell copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+
+var stream = require('stream'),
+ util = require('util'),
+ timers = require('timers');
+
+// convinience API
+module.exports = function(readStream, options) {
+ return module.exports.createStream(readStream, options);
+};
+
+// basic API
+module.exports.createStream = function(readStream, options) {
+ if (readStream) {
+ return createLineStream(readStream, options);
+ } else {
+ return new LineStream(options);
+ }
+};
+
+// deprecated API
+module.exports.createLineStream = function(readStream) {
+ console.log('WARNING: byline#createLineStream is deprecated and will be removed soon');
+ return createLineStream(readStream);
+};
+
+function createLineStream(readStream, options) {
+ if (!readStream) {
+ throw new Error('expected readStream');
+ }
+ if (!readStream.readable) {
+ throw new Error('readStream must be readable');
+ }
+ var ls = new LineStream(options);
+ readStream.pipe(ls);
+ return ls;
+}
+
+//
+// using the new node v0.10 "streams2" API
+//
+
+module.exports.LineStream = LineStream;
+
+function LineStream(options) {
+ stream.Transform.call(this, options);
+ options = options || {};
+
+ // use objectMode to stop the output from being buffered
+ // which re-concatanates the lines, just without newlines.
+ this._readableState.objectMode = true;
+ this._lineBuffer = [];
+ this._keepEmptyLines = options.keepEmptyLines || false;
+ this._lastChunkEndedWithCR = false;
+
+ // take the source's encoding if we don't have one
+ var self = this;
+ this.on('pipe', function(src) {
+ if (!self.encoding) {
+ // but we can't do this for old-style streams
+ if (src instanceof stream.Readable) {
+ self.encoding = src._readableState.encoding;
+ }
+ }
+ });
+}
+util.inherits(LineStream, stream.Transform);
+
+LineStream.prototype._transform = function(chunk, encoding, done) {
+ // decode binary chunks as UTF-8
+ encoding = encoding || 'utf8';
+
+ if (Buffer.isBuffer(chunk)) {
+ if (encoding == 'buffer') {
+ chunk = chunk.toString(); // utf8
+ encoding = 'utf8';
+ }
+ else {
+ chunk = chunk.toString(encoding);
+ }
+ }
+ this._chunkEncoding = encoding;
+
+ // see: http://www.unicode.org/reports/tr18/#Line_Boundaries
+ var lines = chunk.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/g);
+
+ // don't split CRLF which spans chunks
+ if (this._lastChunkEndedWithCR && chunk[0] == '\n') {
+ lines.shift();
+ }
+
+ if (this._lineBuffer.length > 0) {
+ this._lineBuffer[this._lineBuffer.length - 1] += lines[0];
+ lines.shift();
+ }
+
+ this._lastChunkEndedWithCR = chunk[chunk.length - 1] == '\r';
+ this._lineBuffer = this._lineBuffer.concat(lines);
+ this._pushBuffer(encoding, 1, done);
+};
+
+LineStream.prototype._pushBuffer = function(encoding, keep, done) {
+ // always buffer the last (possibly partial) line
+ while (this._lineBuffer.length > keep) {
+ var line = this._lineBuffer.shift();
+ // skip empty lines
+ if (this._keepEmptyLines || line.length > 0 ) {
+ if (!this.push(this._reencode(line, encoding))) {
+ // when the high-water mark is reached, defer pushes until the next tick
+ var self = this;
+ timers.setImmediate(function() {
+ self._pushBuffer(encoding, keep, done);
+ });
+ return;
+ }
+ }
+ }
+ done();
+};
+
+LineStream.prototype._flush = function(done) {
+ this._pushBuffer(this._chunkEncoding, 0, done);
+};
+
+// see Readable::push
+LineStream.prototype._reencode = function(line, chunkEncoding) {
+ if (this.encoding && this.encoding != chunkEncoding) {
+ return new Buffer(line, chunkEncoding).toString(this.encoding);
+ }
+ else if (this.encoding) {
+ // this should be the most common case, i.e. we're using an encoded source stream
+ return line;
+ }
+ else {
+ return new Buffer(line, chunkEncoding);
+ }
+};
diff --git a/deps/npm/node_modules/npm-lifecycle/node_modules/byline/package.json b/deps/npm/node_modules/npm-lifecycle/node_modules/byline/package.json
new file mode 100644
index 0000000000..172953c5a5
--- /dev/null
+++ b/deps/npm/node_modules/npm-lifecycle/node_modules/byline/package.json
@@ -0,0 +1,56 @@
+{
+ "_from": "byline@^5.0.0",
+ "_id": "byline@5.0.0",
+ "_inBundle": false,
+ "_integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=",
+ "_location": "/npm-lifecycle/byline",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "byline@^5.0.0",
+ "name": "byline",
+ "escapedName": "byline",
+ "rawSpec": "^5.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^5.0.0"
+ },
+ "_requiredBy": [
+ "/npm-lifecycle"
+ ],
+ "_resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz",
+ "_shasum": "741c5216468eadc457b03410118ad77de8c1ddb1",
+ "_spec": "byline@^5.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/npm-lifecycle",
+ "author": {
+ "name": "John Hewson"
+ },
+ "bugs": {
+ "url": "https://github.com/jahewson/node-byline/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "simple line-by-line stream reader",
+ "devDependencies": {
+ "mocha": "~2.1.0",
+ "request": "~2.27.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "lib"
+ ],
+ "homepage": "https://github.com/jahewson/node-byline",
+ "license": "MIT",
+ "main": "./lib/byline.js",
+ "name": "byline",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/jahewson/node-byline.git"
+ },
+ "scripts": {
+ "test": "mocha -R spec --timeout 60000"
+ },
+ "version": "5.0.0"
+}
diff --git a/deps/npm/node_modules/npm-lifecycle/node_modules/resolve-from/index.js b/deps/npm/node_modules/npm-lifecycle/node_modules/resolve-from/index.js
new file mode 100644
index 0000000000..d092447e99
--- /dev/null
+++ b/deps/npm/node_modules/npm-lifecycle/node_modules/resolve-from/index.js
@@ -0,0 +1,47 @@
+'use strict';
+const path = require('path');
+const Module = require('module');
+const fs = require('fs');
+
+const resolveFrom = (fromDir, moduleId, silent) => {
+ if (typeof fromDir !== 'string') {
+ throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof fromDir}\``);
+ }
+
+ if (typeof moduleId !== 'string') {
+ throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof moduleId}\``);
+ }
+
+ try {
+ fromDir = fs.realpathSync(fromDir);
+ } catch (err) {
+ if (err.code === 'ENOENT') {
+ fromDir = path.resolve(fromDir);
+ } else if (silent) {
+ return null;
+ } else {
+ throw err;
+ }
+ }
+
+ const fromFile = path.join(fromDir, 'noop.js');
+
+ const resolveFileName = () => Module._resolveFilename(moduleId, {
+ id: fromFile,
+ filename: fromFile,
+ paths: Module._nodeModulePaths(fromDir)
+ });
+
+ if (silent) {
+ try {
+ return resolveFileName();
+ } catch (err) {
+ return null;
+ }
+ }
+
+ return resolveFileName();
+};
+
+module.exports = (fromDir, moduleId) => resolveFrom(fromDir, moduleId);
+module.exports.silent = (fromDir, moduleId) => resolveFrom(fromDir, moduleId, true);
diff --git a/deps/npm/node_modules/npm-lifecycle/node_modules/resolve-from/license b/deps/npm/node_modules/npm-lifecycle/node_modules/resolve-from/license
new file mode 100644
index 0000000000..e7af2f7710
--- /dev/null
+++ b/deps/npm/node_modules/npm-lifecycle/node_modules/resolve-from/license
@@ -0,0 +1,9 @@
+MIT License
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/deps/npm/node_modules/npm-lifecycle/node_modules/resolve-from/package.json b/deps/npm/node_modules/npm-lifecycle/node_modules/resolve-from/package.json
new file mode 100644
index 0000000000..15b258d6a3
--- /dev/null
+++ b/deps/npm/node_modules/npm-lifecycle/node_modules/resolve-from/package.json
@@ -0,0 +1,66 @@
+{
+ "_from": "resolve-from@^4.0.0",
+ "_id": "resolve-from@4.0.0",
+ "_inBundle": false,
+ "_integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "_location": "/npm-lifecycle/resolve-from",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "resolve-from@^4.0.0",
+ "name": "resolve-from",
+ "escapedName": "resolve-from",
+ "rawSpec": "^4.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^4.0.0"
+ },
+ "_requiredBy": [
+ "/npm-lifecycle"
+ ],
+ "_resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "_shasum": "4abcd852ad32dd7baabfe9b40e00a36db5f392e6",
+ "_spec": "resolve-from@^4.0.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/npm-lifecycle",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/sindresorhus/resolve-from/issues"
+ },
+ "bundleDependencies": false,
+ "deprecated": false,
+ "description": "Resolve the path of a module like `require.resolve()` but from a given path",
+ "devDependencies": {
+ "ava": "*",
+ "xo": "*"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/sindresorhus/resolve-from#readme",
+ "keywords": [
+ "require",
+ "resolve",
+ "path",
+ "module",
+ "from",
+ "like",
+ "import"
+ ],
+ "license": "MIT",
+ "name": "resolve-from",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/resolve-from.git"
+ },
+ "scripts": {
+ "test": "xo && ava"
+ },
+ "version": "4.0.0"
+}
diff --git a/deps/npm/node_modules/npm-lifecycle/node_modules/resolve-from/readme.md b/deps/npm/node_modules/npm-lifecycle/node_modules/resolve-from/readme.md
new file mode 100644
index 0000000000..e539f858ef
--- /dev/null
+++ b/deps/npm/node_modules/npm-lifecycle/node_modules/resolve-from/readme.md
@@ -0,0 +1,72 @@
+# resolve-from [![Build Status](https://travis-ci.org/sindresorhus/resolve-from.svg?branch=master)](https://travis-ci.org/sindresorhus/resolve-from)
+
+> Resolve the path of a module like [`require.resolve()`](https://nodejs.org/api/globals.html#globals_require_resolve) but from a given path
+
+
+## Install
+
+```
+$ npm install resolve-from
+```
+
+
+## Usage
+
+```js
+const resolveFrom = require('resolve-from');
+
+// There is a file at `./foo/bar.js`
+
+resolveFrom('foo', './bar');
+//=> '/Users/sindresorhus/dev/test/foo/bar.js'
+```
+
+
+## API
+
+### resolveFrom(fromDir, moduleId)
+
+Like `require()`, throws when the module can't be found.
+
+### resolveFrom.silent(fromDir, moduleId)
+
+Returns `null` instead of throwing when the module can't be found.
+
+#### fromDir
+
+Type: `string`
+
+Directory to resolve from.
+
+#### moduleId
+
+Type: `string`
+
+What you would use in `require()`.
+
+
+## Tip
+
+Create a partial using a bound function if you want to resolve from the same `fromDir` multiple times:
+
+```js
+const resolveFromFoo = resolveFrom.bind(null, 'foo');
+
+resolveFromFoo('./bar');
+resolveFromFoo('./baz');
+```
+
+
+## Related
+
+- [resolve-cwd](https://github.com/sindresorhus/resolve-cwd) - Resolve the path of a module from the current working directory
+- [import-from](https://github.com/sindresorhus/import-from) - Import a module from a given path
+- [import-cwd](https://github.com/sindresorhus/import-cwd) - Import a module from the current working directory
+- [resolve-pkg](https://github.com/sindresorhus/resolve-pkg) - Resolve the path of a package regardless of it having an entry point
+- [import-lazy](https://github.com/sindresorhus/import-lazy) - Import a module lazily
+- [resolve-global](https://github.com/sindresorhus/resolve-global) - Resolve the path of a globally installed module
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/deps/npm/node_modules/npm-lifecycle/package.json b/deps/npm/node_modules/npm-lifecycle/package.json
index 4a5992b1a7..ffd5f2952f 100644
--- a/deps/npm/node_modules/npm-lifecycle/package.json
+++ b/deps/npm/node_modules/npm-lifecycle/package.json
@@ -1,28 +1,28 @@
{
- "_from": "npm-lifecycle@~1.0.2",
- "_id": "npm-lifecycle@1.0.3",
+ "_from": "npm-lifecycle@latest",
+ "_id": "npm-lifecycle@2.0.0",
"_inBundle": false,
- "_integrity": "sha512-CsdargNux7vbv2oeJg7Jb3AH6LPydR06s051A/6tNBGtHo4USlCzfbRn6mSaJELA0sZpaWfqVUNFQ1arOb6rIg==",
+ "_integrity": "sha512-aE7H012O01GKXT9BWnsGMLVci+MOgkhpSwq02ok20aXcNHxFs7enfampNMkiOV1DJEU0LynzemwdjbtXahXKcw==",
"_location": "/npm-lifecycle",
"_phantomChildren": {},
"_requested": {
- "type": "range",
+ "type": "tag",
"registry": true,
- "raw": "npm-lifecycle@~1.0.2",
+ "raw": "npm-lifecycle@latest",
"name": "npm-lifecycle",
"escapedName": "npm-lifecycle",
- "rawSpec": "~1.0.2",
+ "rawSpec": "latest",
"saveSpec": null,
- "fetchSpec": "~1.0.2"
+ "fetchSpec": "latest"
},
"_requiredBy": [
"#USER",
"/"
],
- "_resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-1.0.3.tgz",
- "_shasum": "4cd60543247dbba631281e48ce665ffd52380cce",
- "_spec": "npm-lifecycle@~1.0.2",
- "_where": "/Users/zkat/Documents/code/npm",
+ "_resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-2.0.0.tgz",
+ "_shasum": "d66fba59e7098dbb5862df66c0d81ed75108f1c6",
+ "_spec": "npm-lifecycle@latest",
+ "_where": "/Users/rebecca/code/npm",
"author": {
"name": "Mike Sherov"
},
@@ -31,7 +31,10 @@
},
"bundleDependencies": false,
"dependencies": {
+ "byline": "^5.0.0",
"graceful-fs": "^4.1.11",
+ "node-gyp": "^3.6.2",
+ "resolve-from": "^4.0.0",
"slide": "^1.1.6",
"uid-number": "0.0.6",
"umask": "^1.1.0",
@@ -41,6 +44,7 @@
"description": "JavaScript package lifecycle hook runner",
"devDependencies": {
"nyc": "^11.1.0",
+ "sinon": "^4.0.1",
"standard": "^10.0.3",
"standard-version": "^4.2.0",
"tap": "^10.7.2",
@@ -49,7 +53,8 @@
},
"files": [
"index.js",
- "lib/spawn.js"
+ "lib/spawn.js",
+ "node-gyp-bin"
],
"homepage": "https://github.com/npm/lifecycle#readme",
"keywords": [
@@ -74,5 +79,5 @@
"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": "1.0.3"
+ "version": "2.0.0"
}