Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/node-gyp')
-rw-r--r--node_modules/node-gyp/node_modules/fs-minipass/LICENSE15
-rw-r--r--node_modules/node-gyp/node_modules/fs-minipass/README.md70
-rw-r--r--node_modules/node-gyp/node_modules/fs-minipass/index.js387
-rw-r--r--node_modules/node-gyp/node_modules/fs-minipass/package.json65
-rw-r--r--node_modules/node-gyp/node_modules/minipass/LICENSE15
-rw-r--r--node_modules/node-gyp/node_modules/minipass/README.md606
-rw-r--r--node_modules/node-gyp/node_modules/minipass/index.js537
-rw-r--r--node_modules/node-gyp/node_modules/minipass/package.json72
-rw-r--r--node_modules/node-gyp/node_modules/minizlib/LICENSE26
-rw-r--r--node_modules/node-gyp/node_modules/minizlib/README.md53
-rw-r--r--node_modules/node-gyp/node_modules/minizlib/constants.js115
-rw-r--r--node_modules/node-gyp/node_modules/minizlib/index.js320
-rw-r--r--node_modules/node-gyp/node_modules/minizlib/package.json71
-rw-r--r--node_modules/node-gyp/node_modules/yallist/LICENSE15
-rw-r--r--node_modules/node-gyp/node_modules/yallist/README.md204
-rw-r--r--node_modules/node-gyp/node_modules/yallist/iterator.js8
-rw-r--r--node_modules/node-gyp/node_modules/yallist/package.json63
-rw-r--r--node_modules/node-gyp/node_modules/yallist/yallist.js426
-rw-r--r--node_modules/node-gyp/package.json6
19 files changed, 5 insertions, 3069 deletions
diff --git a/node_modules/node-gyp/node_modules/fs-minipass/LICENSE b/node_modules/node-gyp/node_modules/fs-minipass/LICENSE
deleted file mode 100644
index 19129e315..000000000
--- a/node_modules/node-gyp/node_modules/fs-minipass/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/node_modules/node-gyp/node_modules/fs-minipass/README.md b/node_modules/node-gyp/node_modules/fs-minipass/README.md
deleted file mode 100644
index 1e61241cf..000000000
--- a/node_modules/node-gyp/node_modules/fs-minipass/README.md
+++ /dev/null
@@ -1,70 +0,0 @@
-# fs-minipass
-
-Filesystem streams based on [minipass](http://npm.im/minipass).
-
-4 classes are exported:
-
-- ReadStream
-- ReadStreamSync
-- WriteStream
-- WriteStreamSync
-
-When using `ReadStreamSync`, all of the data is made available
-immediately upon consuming the stream. Nothing is buffered in memory
-when the stream is constructed. If the stream is piped to a writer,
-then it will synchronously `read()` and emit data into the writer as
-fast as the writer can consume it. (That is, it will respect
-backpressure.) If you call `stream.read()` then it will read the
-entire file and return the contents.
-
-When using `WriteStreamSync`, every write is flushed to the file
-synchronously. If your writes all come in a single tick, then it'll
-write it all out in a single tick. It's as synchronous as you are.
-
-The async versions work much like their node builtin counterparts,
-with the exception of introducing significantly less Stream machinery
-overhead.
-
-## USAGE
-
-It's just streams, you pipe them or read() them or write() to them.
-
-```js
-const fsm = require('fs-minipass')
-const readStream = new fsm.ReadStream('file.txt')
-const writeStream = new fsm.WriteStream('output.txt')
-writeStream.write('some file header or whatever\n')
-readStream.pipe(writeStream)
-```
-
-## ReadStream(path, options)
-
-Path string is required, but somewhat irrelevant if an open file
-descriptor is passed in as an option.
-
-Options:
-
-- `fd` Pass in a numeric file descriptor, if the file is already open.
-- `readSize` The size of reads to do, defaults to 16MB
-- `size` The size of the file, if known. Prevents zero-byte read()
- call at the end.
-- `autoClose` Set to `false` to prevent the file descriptor from being
- closed when the file is done being read.
-
-## WriteStream(path, options)
-
-Path string is required, but somewhat irrelevant if an open file
-descriptor is passed in as an option.
-
-Options:
-
-- `fd` Pass in a numeric file descriptor, if the file is already open.
-- `mode` The mode to create the file with. Defaults to `0o666`.
-- `start` The position in the file to start reading. If not
- specified, then the file will start writing at position zero, and be
- truncated by default.
-- `autoClose` Set to `false` to prevent the file descriptor from being
- closed when the stream is ended.
-- `flags` Flags to use when opening the file. Irrelevant if `fd` is
- passed in, since file won't be opened in that case. Defaults to
- `'a'` if a `pos` is specified, or `'w'` otherwise.
diff --git a/node_modules/node-gyp/node_modules/fs-minipass/index.js b/node_modules/node-gyp/node_modules/fs-minipass/index.js
deleted file mode 100644
index cd585a83c..000000000
--- a/node_modules/node-gyp/node_modules/fs-minipass/index.js
+++ /dev/null
@@ -1,387 +0,0 @@
-'use strict'
-const MiniPass = require('minipass')
-const EE = require('events').EventEmitter
-const fs = require('fs')
-
-// for writev
-const binding = process.binding('fs')
-const writeBuffers = binding.writeBuffers
-/* istanbul ignore next */
-const FSReqWrap = binding.FSReqWrap || binding.FSReqCallback
-
-const _autoClose = Symbol('_autoClose')
-const _close = Symbol('_close')
-const _ended = Symbol('_ended')
-const _fd = Symbol('_fd')
-const _finished = Symbol('_finished')
-const _flags = Symbol('_flags')
-const _flush = Symbol('_flush')
-const _handleChunk = Symbol('_handleChunk')
-const _makeBuf = Symbol('_makeBuf')
-const _mode = Symbol('_mode')
-const _needDrain = Symbol('_needDrain')
-const _onerror = Symbol('_onerror')
-const _onopen = Symbol('_onopen')
-const _onread = Symbol('_onread')
-const _onwrite = Symbol('_onwrite')
-const _open = Symbol('_open')
-const _path = Symbol('_path')
-const _pos = Symbol('_pos')
-const _queue = Symbol('_queue')
-const _read = Symbol('_read')
-const _readSize = Symbol('_readSize')
-const _reading = Symbol('_reading')
-const _remain = Symbol('_remain')
-const _size = Symbol('_size')
-const _write = Symbol('_write')
-const _writing = Symbol('_writing')
-const _defaultFlag = Symbol('_defaultFlag')
-
-class ReadStream extends MiniPass {
- constructor (path, opt) {
- opt = opt || {}
- super(opt)
-
- this.writable = false
-
- if (typeof path !== 'string')
- throw new TypeError('path must be a string')
-
- this[_fd] = typeof opt.fd === 'number' ? opt.fd : null
- this[_path] = path
- this[_readSize] = opt.readSize || 16*1024*1024
- this[_reading] = false
- this[_size] = typeof opt.size === 'number' ? opt.size : Infinity
- this[_remain] = this[_size]
- this[_autoClose] = typeof opt.autoClose === 'boolean' ?
- opt.autoClose : true
-
- if (typeof this[_fd] === 'number')
- this[_read]()
- else
- this[_open]()
- }
-
- get fd () { return this[_fd] }
- get path () { return this[_path] }
-
- write () {
- throw new TypeError('this is a readable stream')
- }
-
- end () {
- throw new TypeError('this is a readable stream')
- }
-
- [_open] () {
- fs.open(this[_path], 'r', (er, fd) => this[_onopen](er, fd))
- }
-
- [_onopen] (er, fd) {
- if (er)
- this[_onerror](er)
- else {
- this[_fd] = fd
- this.emit('open', fd)
- this[_read]()
- }
- }
-
- [_makeBuf] () {
- return Buffer.allocUnsafe(Math.min(this[_readSize], this[_remain]))
- }
-
- [_read] () {
- if (!this[_reading]) {
- this[_reading] = true
- const buf = this[_makeBuf]()
- /* istanbul ignore if */
- if (buf.length === 0) return process.nextTick(() => this[_onread](null, 0, buf))
- fs.read(this[_fd], buf, 0, buf.length, null, (er, br, buf) =>
- this[_onread](er, br, buf))
- }
- }
-
- [_onread] (er, br, buf) {
- this[_reading] = false
- if (er)
- this[_onerror](er)
- else if (this[_handleChunk](br, buf))
- this[_read]()
- }
-
- [_close] () {
- if (this[_autoClose] && typeof this[_fd] === 'number') {
- fs.close(this[_fd], _ => this.emit('close'))
- this[_fd] = null
- }
- }
-
- [_onerror] (er) {
- this[_reading] = true
- this[_close]()
- this.emit('error', er)
- }
-
- [_handleChunk] (br, buf) {
- let ret = false
- // no effect if infinite
- this[_remain] -= br
- if (br > 0)
- ret = super.write(br < buf.length ? buf.slice(0, br) : buf)
-
- if (br === 0 || this[_remain] <= 0) {
- ret = false
- this[_close]()
- super.end()
- }
-
- return ret
- }
-
- emit (ev, data) {
- switch (ev) {
- case 'prefinish':
- case 'finish':
- break
-
- case 'drain':
- if (typeof this[_fd] === 'number')
- this[_read]()
- break
-
- default:
- return super.emit(ev, data)
- }
- }
-}
-
-class ReadStreamSync extends ReadStream {
- [_open] () {
- let threw = true
- try {
- this[_onopen](null, fs.openSync(this[_path], 'r'))
- threw = false
- } finally {
- if (threw)
- this[_close]()
- }
- }
-
- [_read] () {
- let threw = true
- try {
- if (!this[_reading]) {
- this[_reading] = true
- do {
- const buf = this[_makeBuf]()
- /* istanbul ignore next */
- const br = buf.length === 0 ? 0 : fs.readSync(this[_fd], buf, 0, buf.length, null)
- if (!this[_handleChunk](br, buf))
- break
- } while (true)
- this[_reading] = false
- }
- threw = false
- } finally {
- if (threw)
- this[_close]()
- }
- }
-
- [_close] () {
- if (this[_autoClose] && typeof this[_fd] === 'number') {
- try {
- fs.closeSync(this[_fd])
- } catch (er) {}
- this[_fd] = null
- this.emit('close')
- }
- }
-}
-
-class WriteStream extends EE {
- constructor (path, opt) {
- opt = opt || {}
- super(opt)
- this.readable = false
- this[_writing] = false
- this[_ended] = false
- this[_needDrain] = false
- this[_queue] = []
- this[_path] = path
- this[_fd] = typeof opt.fd === 'number' ? opt.fd : null
- this[_mode] = opt.mode === undefined ? 0o666 : opt.mode
- this[_pos] = typeof opt.start === 'number' ? opt.start : null
- this[_autoClose] = typeof opt.autoClose === 'boolean' ?
- opt.autoClose : true
-
- // truncating makes no sense when writing into the middle
- const defaultFlag = this[_pos] !== null ? 'r+' : 'w'
- this[_defaultFlag] = opt.flags === undefined
- this[_flags] = this[_defaultFlag] ? defaultFlag : opt.flags
-
- if (this[_fd] === null)
- this[_open]()
- }
-
- get fd () { return this[_fd] }
- get path () { return this[_path] }
-
- [_onerror] (er) {
- this[_close]()
- this[_writing] = true
- this.emit('error', er)
- }
-
- [_open] () {
- fs.open(this[_path], this[_flags], this[_mode],
- (er, fd) => this[_onopen](er, fd))
- }
-
- [_onopen] (er, fd) {
- if (this[_defaultFlag] &&
- this[_flags] === 'r+' &&
- er && er.code === 'ENOENT') {
- this[_flags] = 'w'
- this[_open]()
- } else if (er)
- this[_onerror](er)
- else {
- this[_fd] = fd
- this.emit('open', fd)
- this[_flush]()
- }
- }
-
- end (buf, enc) {
- if (buf)
- this.write(buf, enc)
-
- this[_ended] = true
-
- // synthetic after-write logic, where drain/finish live
- if (!this[_writing] && !this[_queue].length &&
- typeof this[_fd] === 'number')
- this[_onwrite](null, 0)
- }
-
- write (buf, enc) {
- if (typeof buf === 'string')
- buf = new Buffer(buf, enc)
-
- if (this[_ended]) {
- this.emit('error', new Error('write() after end()'))
- return false
- }
-
- if (this[_fd] === null || this[_writing] || this[_queue].length) {
- this[_queue].push(buf)
- this[_needDrain] = true
- return false
- }
-
- this[_writing] = true
- this[_write](buf)
- return true
- }
-
- [_write] (buf) {
- fs.write(this[_fd], buf, 0, buf.length, this[_pos], (er, bw) =>
- this[_onwrite](er, bw))
- }
-
- [_onwrite] (er, bw) {
- if (er)
- this[_onerror](er)
- else {
- if (this[_pos] !== null)
- this[_pos] += bw
- if (this[_queue].length)
- this[_flush]()
- else {
- this[_writing] = false
-
- if (this[_ended] && !this[_finished]) {
- this[_finished] = true
- this[_close]()
- this.emit('finish')
- } else if (this[_needDrain]) {
- this[_needDrain] = false
- this.emit('drain')
- }
- }
- }
- }
-
- [_flush] () {
- if (this[_queue].length === 0) {
- if (this[_ended])
- this[_onwrite](null, 0)
- } else if (this[_queue].length === 1)
- this[_write](this[_queue].pop())
- else {
- const iovec = this[_queue]
- this[_queue] = []
- writev(this[_fd], iovec, this[_pos],
- (er, bw) => this[_onwrite](er, bw))
- }
- }
-
- [_close] () {
- if (this[_autoClose] && typeof this[_fd] === 'number') {
- fs.close(this[_fd], _ => this.emit('close'))
- this[_fd] = null
- }
- }
-}
-
-class WriteStreamSync extends WriteStream {
- [_open] () {
- let fd
- try {
- fd = fs.openSync(this[_path], this[_flags], this[_mode])
- } catch (er) {
- if (this[_defaultFlag] &&
- this[_flags] === 'r+' &&
- er && er.code === 'ENOENT') {
- this[_flags] = 'w'
- return this[_open]()
- } else
- throw er
- }
- this[_onopen](null, fd)
- }
-
- [_close] () {
- if (this[_autoClose] && typeof this[_fd] === 'number') {
- try {
- fs.closeSync(this[_fd])
- } catch (er) {}
- this[_fd] = null
- this.emit('close')
- }
- }
-
- [_write] (buf) {
- try {
- this[_onwrite](null,
- fs.writeSync(this[_fd], buf, 0, buf.length, this[_pos]))
- } catch (er) {
- this[_onwrite](er, 0)
- }
- }
-}
-
-const writev = (fd, iovec, pos, cb) => {
- const done = (er, bw) => cb(er, bw, iovec)
- const req = new FSReqWrap()
- req.oncomplete = done
- binding.writeBuffers(fd, iovec, pos, req)
-}
-
-exports.ReadStream = ReadStream
-exports.ReadStreamSync = ReadStreamSync
-
-exports.WriteStream = WriteStream
-exports.WriteStreamSync = WriteStreamSync
diff --git a/node_modules/node-gyp/node_modules/fs-minipass/package.json b/node_modules/node-gyp/node_modules/fs-minipass/package.json
deleted file mode 100644
index 2843a38ff..000000000
--- a/node_modules/node-gyp/node_modules/fs-minipass/package.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
- "_from": "fs-minipass@^1.2.5",
- "_id": "fs-minipass@1.2.7",
- "_inBundle": false,
- "_integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
- "_location": "/node-gyp/fs-minipass",
- "_phantomChildren": {},
- "_requested": {
- "type": "range",
- "registry": true,
- "raw": "fs-minipass@^1.2.5",
- "name": "fs-minipass",
- "escapedName": "fs-minipass",
- "rawSpec": "^1.2.5",
- "saveSpec": null,
- "fetchSpec": "^1.2.5"
- },
- "_requiredBy": [
- "/node-gyp/tar"
- ],
- "_resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
- "_shasum": "ccff8570841e7fe4265693da88936c55aed7f7c7",
- "_spec": "fs-minipass@^1.2.5",
- "_where": "/Users/isaacs/dev/npm/cli/node_modules/node-gyp/node_modules/tar",
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me",
- "url": "http://blog.izs.me/"
- },
- "bugs": {
- "url": "https://github.com/npm/fs-minipass/issues"
- },
- "bundleDependencies": false,
- "dependencies": {
- "minipass": "^2.6.0"
- },
- "deprecated": false,
- "description": "fs read and write streams based on minipass",
- "devDependencies": {
- "mutate-fs": "^2.0.1",
- "tap": "^14.6.4"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/npm/fs-minipass#readme",
- "keywords": [],
- "license": "ISC",
- "main": "index.js",
- "name": "fs-minipass",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/npm/fs-minipass.git"
- },
- "scripts": {
- "postpublish": "git push origin --follow-tags",
- "postversion": "npm publish",
- "preversion": "npm test",
- "test": "tap"
- },
- "tap": {
- "check-coverage": true
- },
- "version": "1.2.7"
-}
diff --git a/node_modules/node-gyp/node_modules/minipass/LICENSE b/node_modules/node-gyp/node_modules/minipass/LICENSE
deleted file mode 100644
index 20a476254..000000000
--- a/node_modules/node-gyp/node_modules/minipass/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) npm, Inc. and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/node_modules/node-gyp/node_modules/minipass/README.md b/node_modules/node-gyp/node_modules/minipass/README.md
deleted file mode 100644
index c989beea0..000000000
--- a/node_modules/node-gyp/node_modules/minipass/README.md
+++ /dev/null
@@ -1,606 +0,0 @@
-# minipass
-
-A _very_ minimal implementation of a [PassThrough
-stream](https://nodejs.org/api/stream.html#stream_class_stream_passthrough)
-
-[It's very
-fast](https://docs.google.com/spreadsheets/d/1oObKSrVwLX_7Ut4Z6g3fZW-AX1j1-k6w-cDsrkaSbHM/edit#gid=0)
-for objects, strings, and buffers.
-
-Supports pipe()ing (including multi-pipe() and backpressure
-transmission), buffering data until either a `data` event handler or
-`pipe()` is added (so you don't lose the first chunk), and most other
-cases where PassThrough is a good idea.
-
-There is a `read()` method, but it's much more efficient to consume
-data from this stream via `'data'` events or by calling `pipe()` into
-some other stream. Calling `read()` requires the buffer to be
-flattened in some cases, which requires copying memory.
-
-There is also no `unpipe()` method. Once you start piping, there is
-no stopping it!
-
-If you set `objectMode: true` in the options, then whatever is written
-will be emitted. Otherwise, it'll do a minimal amount of Buffer
-copying to ensure proper Streams semantics when `read(n)` is called.
-
-`objectMode` can also be set by doing `stream.objectMode = true`, or by
-writing any non-string/non-buffer data. `objectMode` cannot be set to
-false once it is set.
-
-This is not a `through` or `through2` stream. It doesn't transform
-the data, it just passes it right through. If you want to transform
-the data, extend the class, and override the `write()` method. Once
-you're done transforming the data however you want, call
-`super.write()` with the transform output.
-
-For some examples of streams that extend Minipass in various ways, check
-out:
-
-- [minizlib](http://npm.im/minizlib)
-- [fs-minipass](http://npm.im/fs-minipass)
-- [tar](http://npm.im/tar)
-- [minipass-collect](http://npm.im/minipass-collect)
-- [minipass-flush](http://npm.im/minipass-flush)
-- [minipass-pipeline](http://npm.im/minipass-pipeline)
-- [tap](http://npm.im/tap)
-- [tap-parser](http://npm.im/tap)
-- [treport](http://npm.im/tap)
-
-## Differences from Node.js Streams
-
-There are several things that make Minipass streams different from (and in
-some ways superior to) Node.js core streams.
-
-Please read these caveats if you are familiar with noode-core streams and
-intend to use Minipass streams in your programs.
-
-### Timing
-
-Minipass streams are designed to support synchronous use-cases. Thus, data
-is emitted as soon as it is available, always. It is buffered until read,
-but no longer. Another way to look at it is that Minipass streams are
-exactly as synchronous as the logic that writes into them.
-
-This can be surprising if your code relies on `PassThrough.write()` always
-providing data on the next tick rather than the current one, or being able
-to call `resume()` and not have the entire buffer disappear immediately.
-
-However, without this synchronicity guarantee, there would be no way for
-Minipass to achieve the speeds it does, or support the synchronous use
-cases that it does. Simply put, waiting takes time.
-
-This non-deferring approach makes Minipass streams much easier to reason
-about, especially in the context of Promises and other flow-control
-mechanisms.
-
-### No High/Low Water Marks
-
-Node.js core streams will optimistically fill up a buffer, returning `true`
-on all writes until the limit is hit, even if the data has nowhere to go.
-Then, they will not attempt to draw more data in until the buffer size dips
-below a minimum value.
-
-Minipass streams are much simpler. The `write()` method will return `true`
-if the data has somewhere to go (which is to say, given the timing
-guarantees, that the data is already there by the time `write()` returns).
-
-If the data has nowhere to go, then `write()` returns false, and the data
-sits in a buffer, to be drained out immediately as soon as anyone consumes
-it.
-
-### Hazards of Buffering (or: Why Minipass Is So Fast)
-
-Since data written to a Minipass stream is immediately written all the way
-through the pipeline, and `write()` always returns true/false based on
-whether the data was fully flushed, backpressure is communicated
-immediately to the upstream caller. This minimizes buffering.
-
-Consider this case:
-
-```js
-const {PassThrough} = require('stream')
-const p1 = new PassThrough({ highWaterMark: 1024 })
-const p2 = new PassThrough({ highWaterMark: 1024 })
-const p3 = new PassThrough({ highWaterMark: 1024 })
-const p4 = new PassThrough({ highWaterMark: 1024 })
-
-p1.pipe(p2).pipe(p3).pipe(p4)
-p4.on('data', () => console.log('made it through'))
-
-// this returns false and buffers, then writes to p2 on next tick (1)
-// p2 returns false and buffers, pausing p1, then writes to p3 on next tick (2)
-// p3 returns false and buffers, pausing p2, then writes to p4 on next tick (3)
-// p4 returns false and buffers, pausing p3, then emits 'data' and 'drain'
-// on next tick (4)
-// p3 sees p4's 'drain' event, and calls resume(), emitting 'resume' and
-// 'drain' on next tick (5)
-// p2 sees p3's 'drain', calls resume(), emits 'resume' and 'drain' on next tick (6)
-// p1 sees p2's 'drain', calls resume(), emits 'resume' and 'drain' on next
-// tick (7)
-
-p1.write(Buffer.alloc(2048)) // returns false
-```
-
-Along the way, the data was buffered and deferred at each stage, and
-multiple event deferrals happened, for an unblocked pipeline where it was
-perfectly safe to write all the way through!
-
-Furthermore, setting a `highWaterMark` of `1024` might lead someone reading
-the code to think an advisory maximum of 1KiB is being set for the
-pipeline. However, the actual advisory buffering level is the _sum_ of
-`highWaterMark` values, since each one has its own bucket.
-
-Consider the Minipass case:
-
-```js
-const m1 = new Minipass()
-const m2 = new Minipass()
-const m3 = new Minipass()
-const m4 = new Minipass()
-
-m1.pipe(m2).pipe(m3).pipe(m4)
-m4.on('data', () => console.log('made it through'))
-
-// m1 is flowing, so it writes the data to m2 immediately
-// m2 is flowing, so it writes the data to m3 immediately
-// m3 is flowing, so it writes the data to m4 immediately
-// m4 is flowing, so it fires the 'data' event immediately, returns true
-// m4's write returned true, so m3 is still flowing, returns true
-// m3's write returned true, so m2 is still flowing, returns true
-// m2's write returned true, so m1 is still flowing, returns true
-// No event deferrals or buffering along the way!
-
-m1.write(Buffer.alloc(2048)) // returns true
-```
-
-It is extremely unlikely that you _don't_ want to buffer any data written,
-or _ever_ buffer data that can be flushed all the way through. Neither
-node-core streams nor Minipass ever fail to buffer written data, but
-node-core streams do a lot of unnecessary buffering and pausing.
-
-As always, the faster implementation is the one that does less stuff and
-waits less time to do it.
-
-### Immediately emit `end` for empty streams (when not paused)
-
-If a stream is not paused, and `end()` is called before writing any data
-into it, then it will emit `end` immediately.
-
-If you have logic that occurs on the `end` event which you don't want to
-potentially happen immediately (for example, closing file descriptors,
-moving on to the next entry in an archive parse stream, etc.) then be sure
-to call `stream.pause()` on creation, and then `stream.resume()` once you
-are ready to respond to the `end` event.
-
-### Emit `end` When Asked
-
-One hazard of immediately emitting `'end'` is that you may not yet have had
-a chance to add a listener. In order to avoid this hazard, Minipass
-streams safely re-emit the `'end'` event if a new listener is added after
-`'end'` has been emitted.
-
-Ie, if you do `stream.on('end', someFunction)`, and the stream has already
-emitted `end`, then it will call the handler right away. (You can think of
-this somewhat like attaching a new `.then(fn)` to a previously-resolved
-Promise.)
-
-To prevent calling handlers multiple times who would not expect multiple
-ends to occur, all listeners are removed from the `'end'` event whenever it
-is emitted.
-
-### Impact of "immediate flow" on Tee-streams
-
-A "tee stream" is a stream piping to multiple destinations:
-
-```js
-const tee = new Minipass()
-t.pipe(dest1)
-t.pipe(dest2)
-t.write('foo') // goes to both destinations
-```
-
-Since Minipass streams _immediately_ process any pending data through the
-pipeline when a new pipe destination is added, this can have surprising
-effects, especially when a stream comes in from some other function and may
-or may not have data in its buffer.
-
-```js
-// WARNING! WILL LOSE DATA!
-const src = new Minipass()
-src.write('foo')
-src.pipe(dest1) // 'foo' chunk flows to dest1 immediately, and is gone
-src.pipe(dest2) // gets nothing!
-```
-
-The solution is to create a dedicated tee-stream junction that pipes to
-both locations, and then pipe to _that_ instead.
-
-```js
-// Safe example: tee to both places
-const src = new Minipass()
-src.write('foo')
-const tee = new Minipass()
-tee.pipe(dest1)
-tee.pipe(dest2)
-stream.pipe(tee) // tee gets 'foo', pipes to both locations
-```
-
-The same caveat applies to `on('data')` event listeners. The first one
-added will _immediately_ receive all of the data, leaving nothing for the
-second:
-
-```js
-// WARNING! WILL LOSE DATA!
-const src = new Minipass()
-src.write('foo')
-src.on('data', handler1) // receives 'foo' right away
-src.on('data', handler2) // nothing to see here!
-```
-
-Using a dedicated tee-stream can be used in this case as well:
-
-```js
-// Safe example: tee to both data handlers
-const src = new Minipass()
-src.write('foo')
-const tee = new Minipass()
-tee.on('data', handler1)
-tee.on('data', handler2)
-src.pipe(tee)
-```
-
-## USAGE
-
-It's a stream! Use it like a stream and it'll most likely do what you want.
-
-```js
-const Minipass = require('minipass')
-const mp = new Minipass(options) // optional: { encoding, objectMode }
-mp.write('foo')
-mp.pipe(someOtherStream)
-mp.end('bar')
-```
-
-### OPTIONS
-
-* `encoding` How would you like the data coming _out_ of the stream to be
- encoded? Accepts any values that can be passed to `Buffer.toString()`.
-* `objectMode` Emit data exactly as it comes in. This will be flipped on
- by default if you write() something other than a string or Buffer at any
- point. Setting `objectMode: true` will prevent setting any encoding
- value.
-
-### API
-
-Implements the user-facing portions of Node.js's `Readable` and `Writable`
-streams.
-
-### Methods
-
-* `write(chunk, [encoding], [callback])` - Put data in. (Note that, in the
- base Minipass class, the same data will come out.) Returns `false` if
- the stream will buffer the next write, or true if it's still in
- "flowing" mode.
-* `end([chunk, [encoding]], [callback])` - Signal that you have no more
- data to write. This will queue an `end` event to be fired when all the
- data has been consumed.
-* `setEncoding(encoding)` - Set the encoding for data coming of the
- stream. This can only be done once.
-* `pause()` - No more data for a while, please. This also prevents `end`
- from being emitted for empty streams until the stream is resumed.
-* `resume()` - Resume the stream. If there's data in the buffer, it is
- all discarded. Any buffered events are immediately emitted.
-* `pipe(dest)` - Send all output to the stream provided. There is no way
- to unpipe. When data is emitted, it is immediately written to any and
- all pipe destinations.
-* `on(ev, fn)`, `emit(ev, fn)` - Minipass streams are EventEmitters.
- Some events are given special treatment, however. (See below under
- "events".)
-* `promise()` - Returns a Promise that resolves when the stream emits
- `end`, or rejects if the stream emits `error`.
-* `collect()` - Return a Promise that resolves on `end` with an array
- containing each chunk of data that was emitted, or rejects if the
- stream emits `error`. Note that this consumes the stream data.
-* `concat()` - Same as `collect()`, but concatenates the data into a
- single Buffer object. Will reject the returned promise if the stream is
- in objectMode, or if it goes into objectMode by the end of the data.
-* `read(n)` - Consume `n` bytes of data out of the buffer. If `n` is not
- provided, then consume all of it. If `n` bytes are not available, then
- it returns null. **Note** consuming streams in this way is less
- efficient, and can lead to unnecessary Buffer copying.
-* `destroy([er])` - Destroy the stream. If an error is provided, then an
- `'error'` event is emitted. If the stream has a `close()` method, and
- has not emitted a `'close'` event yet, then `stream.close()` will be
- called. Any Promises returned by `.promise()`, `.collect()` or
- `.concat()` will be rejected. After being destroyed, writing to the
- stream will emit an error. No more data will be emitted if the stream is
- destroyed, even if it was previously buffered.
-
-### Properties
-
-* `bufferLength` Read-only. Total number of bytes buffered, or in the case
- of objectMode, the total number of objects.
-* `encoding` The encoding that has been set. (Setting this is equivalent
- to calling `setEncoding(enc)` and has the same prohibition against
- setting multiple times.)
-* `flowing` Read-only. Boolean indicating whether a chunk written to the
- stream will be immediately emitted.
-* `emittedEnd` Read-only. Boolean indicating whether the end-ish events
- (ie, `end`, `prefinish`, `finish`) have been emitted. Note that
- listening on any end-ish event will immediateyl re-emit it if it has
- already been emitted.
-* `writable` Whether the stream is writable. Default `true`. Set to
- `false` when `end()`
-* `readable` Whether the stream is readable. Default `true`.
-* `buffer` A [yallist](http://npm.im/yallist) linked list of chunks written
- to the stream that have not yet been emitted. (It's probably a bad idea
- to mess with this.)
-* `pipes` A [yallist](http://npm.im/yallist) linked list of streams that
- this stream is piping into. (It's probably a bad idea to mess with
- this.)
-* `destroyed` A getter that indicates whether the stream was destroyed.
-* `paused` True if the stream has been explicitly paused, otherwise false.
-* `objectMode` Indicates whether the stream is in `objectMode`. Once set
- to `true`, it cannot be set to `false`.
-
-### Events
-
-* `data` Emitted when there's data to read. Argument is the data to read.
- This is never emitted while not flowing. If a listener is attached, that
- will resume the stream.
-* `end` Emitted when there's no more data to read. This will be emitted
- immediately for empty streams when `end()` is called. If a listener is
- attached, and `end` was already emitted, then it will be emitted again.
- All listeners are removed when `end` is emitted.
-* `prefinish` An end-ish event that follows the same logic as `end` and is
- emitted in the same conditions where `end` is emitted. Emitted after
- `'end'`.
-* `finish` An end-ish event that follows the same logic as `end` and is
- emitted in the same conditions where `end` is emitted. Emitted after
- `'prefinish'`.
-* `close` An indication that an underlying resource has been released.
- Minipass does not emit this event, but will defer it until after `end`
- has been emitted, since it throws off some stream libraries otherwise.
-* `drain` Emitted when the internal buffer empties, and it is again
- suitable to `write()` into the stream.
-* `readable` Emitted when data is buffered and ready to be read by a
- consumer.
-* `resume` Emitted when stream changes state from buffering to flowing
- mode. (Ie, when `resume` is called, `pipe` is called, or a `data` event
- listener is added.)
-
-### Static Methods
-
-* `Minipass.isStream(stream)` Returns `true` if the argument is a stream,
- and false otherwise. To be considered a stream, the object must be
- either an instance of Minipass, or an EventEmitter that has either a
- `pipe()` method, or both `write()` and `end()` methods. (Pretty much any
- stream in node-land will return `true` for this.)
-
-## EXAMPLES
-
-Here are some examples of things you can do with Minipass streams.
-
-### simple "are you done yet" promise
-
-```js
-mp.promise().then(() => {
- // stream is finished
-}, er => {
- // stream emitted an error
-})
-```
-
-### collecting
-
-```js
-mp.collect().then(all => {
- // all is an array of all the data emitted
- // encoding is supported in this case, so
- // so the result will be a collection of strings if
- // an encoding is specified, or buffers/objects if not.
- //
- // In an async function, you may do
- // const data = await stream.collect()
-})
-```
-
-### collecting into a single blob
-
-This is a bit slower because it concatenates the data into one chunk for
-you, but if you're going to do it yourself anyway, it's convenient this
-way:
-
-```js
-mp.concat().then(onebigchunk => {
- // onebigchunk is a string if the stream
- // had an encoding set, or a buffer otherwise.
-})
-```
-
-### iteration
-
-You can iterate over streams synchronously or asynchronously in
-platforms that support it.
-
-Synchronous iteration will end when the currently available data is
-consumed, even if the `end` event has not been reached. In string and
-buffer mode, the data is concatenated, so unless multiple writes are
-occurring in the same tick as the `read()`, sync iteration loops will
-generally only have a single iteration.
-
-To consume chunks in this way exactly as they have been written, with
-no flattening, create the stream with the `{ objectMode: true }`
-option.
-
-```js
-const mp = new Minipass({ objectMode: true })
-mp.write('a')
-mp.write('b')
-for (let letter of mp) {
- console.log(letter) // a, b
-}
-mp.write('c')
-mp.write('d')
-for (let letter of mp) {
- console.log(letter) // c, d
-}
-mp.write('e')
-mp.end()
-for (let letter of mp) {
- console.log(letter) // e
-}
-for (let letter of mp) {
- console.log(letter) // nothing
-}
-```
-
-Asynchronous iteration will continue until the end event is reached,
-consuming all of the data.
-
-```js
-const mp = new Minipass({ encoding: 'utf8' })
-
-// some source of some data
-let i = 5
-const inter = setInterval(() => {
- if (i --> 0)
- mp.write(Buffer.from('foo\n', 'utf8'))
- else {
- mp.end()
- clearInterval(inter)
- }
-}, 100)
-
-// consume the data with asynchronous iteration
-async function consume () {
- for await (let chunk of mp) {
- console.log(chunk)
- }
- return 'ok'
-}
-
-consume().then(res => console.log(res))
-// logs `foo\n` 5 times, and then `ok`
-```
-
-### subclass that `console.log()`s everything written into it
-
-```js
-class Logger extends Minipass {
- write (chunk, encoding, callback) {
- console.log('WRITE', chunk, encoding)
- return super.write(chunk, encoding, callback)
- }
- end (chunk, encoding, callback) {
- console.log('END', chunk, encoding)
- return super.end(chunk, encoding, callback)
- }
-}
-
-someSource.pipe(new Logger()).pipe(someDest)
-```
-
-### same thing, but using an inline anonymous class
-
-```js
-// js classes are fun
-someSource
- .pipe(new (class extends Minipass {
- emit (ev, ...data) {
- // let's also log events, because debugging some weird thing
- console.log('EMIT', ev)
- return super.emit(ev, ...data)
- }
- write (chunk, encoding, callback) {
- console.log('WRITE', chunk, encoding)
- return super.write(chunk, encoding, callback)
- }
- end (chunk, encoding, callback) {
- console.log('END', chunk, encoding)
- return super.end(chunk, encoding, callback)
- }
- }))
- .pipe(someDest)
-```
-
-### subclass that defers 'end' for some reason
-
-```js
-class SlowEnd extends Minipass {
- emit (ev, ...args) {
- if (ev === 'end') {
- console.log('going to end, hold on a sec')
- setTimeout(() => {
- console.log('ok, ready to end now')
- super.emit('end', ...args)
- }, 100)
- } else {
- return super.emit(ev, ...args)
- }
- }
-}
-```
-
-### transform that creates newline-delimited JSON
-
-```js
-class NDJSONEncode extends Minipass {
- write (obj, cb) {
- try {
- // JSON.stringify can throw, emit an error on that
- return super.write(JSON.stringify(obj) + '\n', 'utf8', cb)
- } catch (er) {
- this.emit('error', er)
- }
- }
- end (obj, cb) {
- if (typeof obj === 'function') {
- cb = obj
- obj = undefined
- }
- if (obj !== undefined) {
- this.write(obj)
- }
- return super.end(cb)
- }
-}
-```
-
-### transform that parses newline-delimited JSON
-
-```js
-class NDJSONDecode extends Minipass {
- constructor (options) {
- // always be in object mode, as far as Minipass is concerned
- super({ objectMode: true })
- this._jsonBuffer = ''
- }
- write (chunk, encoding, cb) {
- if (typeof chunk === 'string' &&
- typeof encoding === 'string' &&
- encoding !== 'utf8') {
- chunk = Buffer.from(chunk, encoding).toString()
- } else if (Buffer.isBuffer(chunk))
- chunk = chunk.toString()
- }
- if (typeof encoding === 'function') {
- cb = encoding
- }
- const jsonData = (this._jsonBuffer + chunk).split('\n')
- this._jsonBuffer = jsonData.pop()
- for (let i = 0; i < jsonData.length; i++) {
- let parsed
- try {
- super.write(parsed)
- } catch (er) {
- this.emit('error', er)
- continue
- }
- }
- if (cb)
- cb()
- }
-}
-```
diff --git a/node_modules/node-gyp/node_modules/minipass/index.js b/node_modules/node-gyp/node_modules/minipass/index.js
deleted file mode 100644
index c072352d4..000000000
--- a/node_modules/node-gyp/node_modules/minipass/index.js
+++ /dev/null
@@ -1,537 +0,0 @@
-'use strict'
-const EE = require('events')
-const Yallist = require('yallist')
-const SD = require('string_decoder').StringDecoder
-
-const EOF = Symbol('EOF')
-const MAYBE_EMIT_END = Symbol('maybeEmitEnd')
-const EMITTED_END = Symbol('emittedEnd')
-const EMITTING_END = Symbol('emittingEnd')
-const CLOSED = Symbol('closed')
-const READ = Symbol('read')
-const FLUSH = Symbol('flush')
-const FLUSHCHUNK = Symbol('flushChunk')
-const ENCODING = Symbol('encoding')
-const DECODER = Symbol('decoder')
-const FLOWING = Symbol('flowing')
-const PAUSED = Symbol('paused')
-const RESUME = Symbol('resume')
-const BUFFERLENGTH = Symbol('bufferLength')
-const BUFFERPUSH = Symbol('bufferPush')
-const BUFFERSHIFT = Symbol('bufferShift')
-const OBJECTMODE = Symbol('objectMode')
-const DESTROYED = Symbol('destroyed')
-
-// TODO remove when Node v8 support drops
-const doIter = global._MP_NO_ITERATOR_SYMBOLS_ !== '1'
-const ASYNCITERATOR = doIter && Symbol.asyncIterator
- || Symbol('asyncIterator not implemented')
-const ITERATOR = doIter && Symbol.iterator
- || Symbol('iterator not implemented')
-
-// Buffer in node 4.x < 4.5.0 doesn't have working Buffer.from
-// or Buffer.alloc, and Buffer in node 10 deprecated the ctor.
-// .M, this is fine .\^/M..
-const B = Buffer.alloc ? Buffer
- : /* istanbul ignore next */ require('safe-buffer').Buffer
-
-// events that mean 'the stream is over'
-// these are treated specially, and re-emitted
-// if they are listened for after emitting.
-const isEndish = ev =>
- ev === 'end' ||
- ev === 'finish' ||
- ev === 'prefinish'
-
-const isArrayBuffer = b => b instanceof ArrayBuffer ||
- typeof b === 'object' &&
- b.constructor &&
- b.constructor.name === 'ArrayBuffer' &&
- b.byteLength >= 0
-
-const isArrayBufferView = b => !B.isBuffer(b) && ArrayBuffer.isView(b)
-
-module.exports = class Minipass extends EE {
- constructor (options) {
- super()
- this[FLOWING] = false
- // whether we're explicitly paused
- this[PAUSED] = false
- this.pipes = new Yallist()
- this.buffer = new Yallist()
- this[OBJECTMODE] = options && options.objectMode || false
- if (this[OBJECTMODE])
- this[ENCODING] = null
- else
- this[ENCODING] = options && options.encoding || null
- if (this[ENCODING] === 'buffer')
- this[ENCODING] = null
- this[DECODER] = this[ENCODING] ? new SD(this[ENCODING]) : null
- this[EOF] = false
- this[EMITTED_END] = false
- this[EMITTING_END] = false
- this[CLOSED] = false
- this.writable = true
- this.readable = true
- this[BUFFERLENGTH] = 0
- this[DESTROYED] = false
- }
-
- get bufferLength () { return this[BUFFERLENGTH] }
-
- get encoding () { return this[ENCODING] }
- set encoding (enc) {
- if (this[OBJECTMODE])
- throw new Error('cannot set encoding in objectMode')
-
- if (this[ENCODING] && enc !== this[ENCODING] &&
- (this[DECODER] && this[DECODER].lastNeed || this[BUFFERLENGTH]))
- throw new Error('cannot change encoding')
-
- if (this[ENCODING] !== enc) {
- this[DECODER] = enc ? new SD(enc) : null
- if (this.buffer.length)
- this.buffer = this.buffer.map(chunk => this[DECODER].write(chunk))
- }
-
- this[ENCODING] = enc
- }
-
- setEncoding (enc) {
- this.encoding = enc
- }
-
- get objectMode () { return this[OBJECTMODE] }
- set objectMode (ॐ ) { this[OBJECTMODE] = this[OBJECTMODE] || !!ॐ }
-
- write (chunk, encoding, cb) {
- if (this[EOF])
- throw new Error('write after end')
-
- if (this[DESTROYED]) {
- this.emit('error', Object.assign(
- new Error('Cannot call write after a stream was destroyed'),
- { code: 'ERR_STREAM_DESTROYED' }
- ))
- return true
- }
-
- if (typeof encoding === 'function')
- cb = encoding, encoding = 'utf8'
-
- if (!encoding)
- encoding = 'utf8'
-
- // convert array buffers and typed array views into buffers
- // at some point in the future, we may want to do the opposite!
- // leave strings and buffers as-is
- // anything else switches us into object mode
- if (!this[OBJECTMODE] && !B.isBuffer(chunk)) {
- if (isArrayBufferView(chunk))
- chunk = B.from(chunk.buffer, chunk.byteOffset, chunk.byteLength)
- else if (isArrayBuffer(chunk))
- chunk = B.from(chunk)
- else if (typeof chunk !== 'string')
- // use the setter so we throw if we have encoding set
- this.objectMode = true
- }
-
- // this ensures at this point that the chunk is a buffer or string
- // don't buffer it up or send it to the decoder
- if (!this.objectMode && !chunk.length) {
- const ret = this.flowing
- if (this[BUFFERLENGTH] !== 0)
- this.emit('readable')
- if (cb)
- cb()
- return ret
- }
-
- // fast-path writing strings of same encoding to a stream with
- // an empty buffer, skipping the buffer/decoder dance
- if (typeof chunk === 'string' && !this[OBJECTMODE] &&
- // unless it is a string already ready for us to use
- !(encoding === this[ENCODING] && !this[DECODER].lastNeed)) {
- chunk = B.from(chunk, encoding)
- }
-
- if (B.isBuffer(chunk) && this[ENCODING])
- chunk = this[DECODER].write(chunk)
-
- try {
- return this.flowing
- ? (this.emit('data', chunk), this.flowing)
- : (this[BUFFERPUSH](chunk), false)
- } finally {
- if (this[BUFFERLENGTH] !== 0)
- this.emit('readable')
- if (cb)
- cb()
- }
- }
-
- read (n) {
- if (this[DESTROYED])
- return null
-
- try {
- if (this[BUFFERLENGTH] === 0 || n === 0 || n > this[BUFFERLENGTH])
- return null
-
- if (this[OBJECTMODE])
- n = null
-
- if (this.buffer.length > 1 && !this[OBJECTMODE]) {
- if (this.encoding)
- this.buffer = new Yallist([
- Array.from(this.buffer).join('')
- ])
- else
- this.buffer = new Yallist([
- B.concat(Array.from(this.buffer), this[BUFFERLENGTH])
- ])
- }
-
- return this[READ](n || null, this.buffer.head.value)
- } finally {
- this[MAYBE_EMIT_END]()
- }
- }
-
- [READ] (n, chunk) {
- if (n === chunk.length || n === null)
- this[BUFFERSHIFT]()
- else {
- this.buffer.head.value = chunk.slice(n)
- chunk = chunk.slice(0, n)
- this[BUFFERLENGTH] -= n
- }
-
- this.emit('data', chunk)
-
- if (!this.buffer.length && !this[EOF])
- this.emit('drain')
-
- return chunk
- }
-
- end (chunk, encoding, cb) {
- if (typeof chunk === 'function')
- cb = chunk, chunk = null
- if (typeof encoding === 'function')
- cb = encoding, encoding = 'utf8'
- if (chunk)
- this.write(chunk, encoding)
- if (cb)
- this.once('end', cb)
- this[EOF] = true
- this.writable = false
-
- // if we haven't written anything, then go ahead and emit,
- // even if we're not reading.
- // we'll re-emit if a new 'end' listener is added anyway.
- // This makes MP more suitable to write-only use cases.
- if (this.flowing || !this[PAUSED])
- this[MAYBE_EMIT_END]()
- return this
- }
-
- // don't let the internal resume be overwritten
- [RESUME] () {
- if (this[DESTROYED])
- return
-
- this[PAUSED] = false
- this[FLOWING] = true
- this.emit('resume')
- if (this.buffer.length)
- this[FLUSH]()
- else if (this[EOF])
- this[MAYBE_EMIT_END]()
- else
- this.emit('drain')
- }
-
- resume () {
- return this[RESUME]()
- }
-
- pause () {
- this[FLOWING] = false
- this[PAUSED] = true
- }
-
- get destroyed () {
- return this[DESTROYED]
- }
-
- get flowing () {
- return this[FLOWING]
- }
-
- get paused () {
- return this[PAUSED]
- }
-
- [BUFFERPUSH] (chunk) {
- if (this[OBJECTMODE])
- this[BUFFERLENGTH] += 1
- else
- this[BUFFERLENGTH] += chunk.length
- return this.buffer.push(chunk)
- }
-
- [BUFFERSHIFT] () {
- if (this.buffer.length) {
- if (this[OBJECTMODE])
- this[BUFFERLENGTH] -= 1
- else
- this[BUFFERLENGTH] -= this.buffer.head.value.length
- }
- return this.buffer.shift()
- }
-
- [FLUSH] () {
- do {} while (this[FLUSHCHUNK](this[BUFFERSHIFT]()))
-
- if (!this.buffer.length && !this[EOF])
- this.emit('drain')
- }
-
- [FLUSHCHUNK] (chunk) {
- return chunk ? (this.emit('data', chunk), this.flowing) : false
- }
-
- pipe (dest, opts) {
- if (this[DESTROYED])
- return
-
- const ended = this[EMITTED_END]
- opts = opts || {}
- if (dest === process.stdout || dest === process.stderr)
- opts.end = false
- else
- opts.end = opts.end !== false
-
- const p = { dest: dest, opts: opts, ondrain: _ => this[RESUME]() }
- this.pipes.push(p)
-
- dest.on('drain', p.ondrain)
- this[RESUME]()
- // piping an ended stream ends immediately
- if (ended && p.opts.end)
- p.dest.end()
- return dest
- }
-
- addListener (ev, fn) {
- return this.on(ev, fn)
- }
-
- on (ev, fn) {
- try {
- return super.on(ev, fn)
- } finally {
- if (ev === 'data' && !this.pipes.length && !this.flowing)
- this[RESUME]()
- else if (isEndish(ev) && this[EMITTED_END]) {
- super.emit(ev)
- this.removeAllListeners(ev)
- }
- }
- }
-
- get emittedEnd () {
- return this[EMITTED_END]
- }
-
- [MAYBE_EMIT_END] () {
- if (!this[EMITTING_END] &&
- !this[EMITTED_END] &&
- !this[DESTROYED] &&
- this.buffer.length === 0 &&
- this[EOF]) {
- this[EMITTING_END] = true
- this.emit('end')
- this.emit('prefinish')
- this.emit('finish')
- if (this[CLOSED])
- this.emit('close')
- this[EMITTING_END] = false
- }
- }
-
- emit (ev, data) {
- // error and close are only events allowed after calling destroy()
- if (ev !== 'error' && ev !== 'close' && ev !== DESTROYED && this[DESTROYED])
- return
- else if (ev === 'data') {
- if (!data)
- return
-
- if (this.pipes.length)
- this.pipes.forEach(p =>
- p.dest.write(data) === false && this.pause())
- } else if (ev === 'end') {
- // only actual end gets this treatment
- if (this[EMITTED_END] === true)
- return
-
- this[EMITTED_END] = true
- this.readable = false
-
- if (this[DECODER]) {
- data = this[DECODER].end()
- if (data) {
- this.pipes.forEach(p => p.dest.write(data))
- super.emit('data', data)
- }
- }
-
- this.pipes.forEach(p => {
- p.dest.removeListener('drain', p.ondrain)
- if (p.opts.end)
- p.dest.end()
- })
- } else if (ev === 'close') {
- this[CLOSED] = true
- // don't emit close before 'end' and 'finish'
- if (!this[EMITTED_END] && !this[DESTROYED])
- return
- }
-
- // TODO: replace with a spread operator when Node v4 support drops
- const args = new Array(arguments.length)
- args[0] = ev
- args[1] = data
- if (arguments.length > 2) {
- for (let i = 2; i < arguments.length; i++) {
- args[i] = arguments[i]
- }
- }
-
- try {
- return super.emit.apply(this, args)
- } finally {
- if (!isEndish(ev))
- this[MAYBE_EMIT_END]()
- else
- this.removeAllListeners(ev)
- }
- }
-
- // const all = await stream.collect()
- collect () {
- const buf = []
- buf.dataLength = 0
- this.on('data', c => {
- buf.push(c)
- buf.dataLength += c.length
- })
- return this.promise().then(() => buf)
- }
-
- // const data = await stream.concat()
- concat () {
- return this[OBJECTMODE]
- ? Promise.reject(new Error('cannot concat in objectMode'))
- : this.collect().then(buf =>
- this[OBJECTMODE]
- ? Promise.reject(new Error('cannot concat in objectMode'))
- : this[ENCODING] ? buf.join('') : B.concat(buf, buf.dataLength))
- }
-
- // stream.promise().then(() => done, er => emitted error)
- promise () {
- return new Promise((resolve, reject) => {
- this.on(DESTROYED, () => reject(new Error('stream destroyed')))
- this.on('end', () => resolve())
- this.on('error', er => reject(er))
- })
- }
-
- // for await (let chunk of stream)
- [ASYNCITERATOR] () {
- const next = () => {
- const res = this.read()
- if (res !== null)
- return Promise.resolve({ done: false, value: res })
-
- if (this[EOF])
- return Promise.resolve({ done: true })
-
- let resolve = null
- let reject = null
- const onerr = er => {
- this.removeListener('data', ondata)
- this.removeListener('end', onend)
- reject(er)
- }
- const ondata = value => {
- this.removeListener('error', onerr)
- this.removeListener('end', onend)
- this.pause()
- resolve({ value: value, done: !!this[EOF] })
- }
- const onend = () => {
- this.removeListener('error', onerr)
- this.removeListener('data', ondata)
- resolve({ done: true })
- }
- const ondestroy = () => onerr(new Error('stream destroyed'))
- return new Promise((res, rej) => {
- reject = rej
- resolve = res
- this.once(DESTROYED, ondestroy)
- this.once('error', onerr)
- this.once('end', onend)
- this.once('data', ondata)
- })
- }
-
- return { next }
- }
-
- // for (let chunk of stream)
- [ITERATOR] () {
- const next = () => {
- const value = this.read()
- const done = value === null
- return { value, done }
- }
- return { next }
- }
-
- destroy (er) {
- if (this[DESTROYED]) {
- if (er)
- this.emit('error', er)
- else
- this.emit(DESTROYED)
- return this
- }
-
- this[DESTROYED] = true
-
- // throw away all buffered data, it's never coming out
- this.buffer = new Yallist()
- this[BUFFERLENGTH] = 0
-
- if (typeof this.close === 'function' && !this[CLOSED])
- this.close()
-
- if (er)
- this.emit('error', er)
- else // if no error to emit, still reject pending promises
- this.emit(DESTROYED)
-
- return this
- }
-
- static isStream (s) {
- return !!s && (s instanceof Minipass || s instanceof EE && (
- typeof s.pipe === 'function' || // readable
- (typeof s.write === 'function' && typeof s.end === 'function') // writable
- ))
- }
-}
diff --git a/node_modules/node-gyp/node_modules/minipass/package.json b/node_modules/node-gyp/node_modules/minipass/package.json
deleted file mode 100644
index 680de3d39..000000000
--- a/node_modules/node-gyp/node_modules/minipass/package.json
+++ /dev/null
@@ -1,72 +0,0 @@
-{
- "_from": "minipass@^2.8.6",
- "_id": "minipass@2.9.0",
- "_inBundle": false,
- "_integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
- "_location": "/node-gyp/minipass",
- "_phantomChildren": {},
- "_requested": {
- "type": "range",
- "registry": true,
- "raw": "minipass@^2.8.6",
- "name": "minipass",
- "escapedName": "minipass",
- "rawSpec": "^2.8.6",
- "saveSpec": null,
- "fetchSpec": "^2.8.6"
- },
- "_requiredBy": [
- "/node-gyp/fs-minipass",
- "/node-gyp/minizlib",
- "/node-gyp/tar"
- ],
- "_resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
- "_shasum": "e713762e7d3e32fed803115cf93e04bca9fcc9a6",
- "_spec": "minipass@^2.8.6",
- "_where": "/Users/isaacs/dev/npm/cli/node_modules/node-gyp/node_modules/tar",
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me",
- "url": "http://blog.izs.me/"
- },
- "bugs": {
- "url": "https://github.com/isaacs/minipass/issues"
- },
- "bundleDependencies": false,
- "dependencies": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- },
- "deprecated": false,
- "description": "minimal implementation of a PassThrough stream",
- "devDependencies": {
- "end-of-stream": "^1.4.0",
- "tap": "^14.6.5",
- "through2": "^2.0.3"
- },
- "files": [
- "index.js"
- ],
- "homepage": "https://github.com/isaacs/minipass#readme",
- "keywords": [
- "passthrough",
- "stream"
- ],
- "license": "ISC",
- "main": "index.js",
- "name": "minipass",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/isaacs/minipass.git"
- },
- "scripts": {
- "postpublish": "git push origin --follow-tags",
- "postversion": "npm publish",
- "preversion": "npm test",
- "test": "tap"
- },
- "tap": {
- "check-coverage": true
- },
- "version": "2.9.0"
-}
diff --git a/node_modules/node-gyp/node_modules/minizlib/LICENSE b/node_modules/node-gyp/node_modules/minizlib/LICENSE
deleted file mode 100644
index ffce7383f..000000000
--- a/node_modules/node-gyp/node_modules/minizlib/LICENSE
+++ /dev/null
@@ -1,26 +0,0 @@
-Minizlib was created by Isaac Z. Schlueter.
-It is a derivative work of the Node.js project.
-
-"""
-Copyright Isaac Z. Schlueter and Contributors
-Copyright Node.js contributors. All rights reserved.
-Copyright Joyent, Inc. and other Node contributors. All rights reserved.
-
-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/node_modules/node-gyp/node_modules/minizlib/README.md b/node_modules/node-gyp/node_modules/minizlib/README.md
deleted file mode 100644
index 4097b8522..000000000
--- a/node_modules/node-gyp/node_modules/minizlib/README.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# minizlib
-
-A fast zlib stream built on [minipass](http://npm.im/minipass) and
-Node.js's zlib binding.
-
-This module was created to serve the needs of
-[node-tar](http://npm.im/tar) and
-[minipass-fetch](http://npm.im/minipass-fetch).
-
-Brotli is supported in versions of node with a Brotli binding.
-
-## How does this differ from the streams in `require('zlib')`?
-
-First, there are no convenience methods to compress or decompress a
-buffer. If you want those, use the built-in `zlib` module. This is
-only streams. That being said, Minipass streams to make it fairly easy to
-use as one-liners: `new zlib.Deflate().end(data).read()` will return the
-deflate compressed result.
-
-This module compresses and decompresses the data as fast as you feed
-it in. It is synchronous, and runs on the main process thread. Zlib
-and Brotli operations can be high CPU, but they're very fast, and doing it
-this way means much less bookkeeping and artificial deferral.
-
-Node's built in zlib streams are built on top of `stream.Transform`.
-They do the maximally safe thing with respect to consistent
-asynchrony, buffering, and backpressure.
-
-See [Minipass](http://npm.im/minipass) for more on the differences between
-Node.js core streams and Minipass streams, and the convenience methods
-provided by that class.
-
-## Classes
-
-- Deflate
-- Inflate
-- Gzip
-- Gunzip
-- DeflateRaw
-- InflateRaw
-- Unzip
-- BrotliCompress (Node v10 and higher)
-- BrotliDecompress (Node v10 and higher)
-
-## USAGE
-
-```js
-const zlib = require('minizlib')
-const input = sourceOfCompressedData()
-const decode = new zlib.BrotliDecompress()
-const output = whereToWriteTheDecodedData()
-input.pipe(decode).pipe(output)
-```
diff --git a/node_modules/node-gyp/node_modules/minizlib/constants.js b/node_modules/node-gyp/node_modules/minizlib/constants.js
deleted file mode 100644
index 641ebc731..000000000
--- a/node_modules/node-gyp/node_modules/minizlib/constants.js
+++ /dev/null
@@ -1,115 +0,0 @@
-// Update with any zlib constants that are added or changed in the future.
-// Node v6 didn't export this, so we just hard code the version and rely
-// on all the other hard-coded values from zlib v4736. When node v6
-// support drops, we can just export the realZlibConstants object.
-const realZlibConstants = require('zlib').constants ||
- /* istanbul ignore next */ { ZLIB_VERNUM: 4736 }
-
-module.exports = Object.freeze(Object.assign(Object.create(null), {
- Z_NO_FLUSH: 0,
- Z_PARTIAL_FLUSH: 1,
- Z_SYNC_FLUSH: 2,
- Z_FULL_FLUSH: 3,
- Z_FINISH: 4,
- Z_BLOCK: 5,
- Z_OK: 0,
- Z_STREAM_END: 1,
- Z_NEED_DICT: 2,
- Z_ERRNO: -1,
- Z_STREAM_ERROR: -2,
- Z_DATA_ERROR: -3,
- Z_MEM_ERROR: -4,
- Z_BUF_ERROR: -5,
- Z_VERSION_ERROR: -6,
- Z_NO_COMPRESSION: 0,
- Z_BEST_SPEED: 1,
- Z_BEST_COMPRESSION: 9,
- Z_DEFAULT_COMPRESSION: -1,
- Z_FILTERED: 1,
- Z_HUFFMAN_ONLY: 2,
- Z_RLE: 3,
- Z_FIXED: 4,
- Z_DEFAULT_STRATEGY: 0,
- DEFLATE: 1,
- INFLATE: 2,
- GZIP: 3,
- GUNZIP: 4,
- DEFLATERAW: 5,
- INFLATERAW: 6,
- UNZIP: 7,
- BROTLI_DECODE: 8,
- BROTLI_ENCODE: 9,
- Z_MIN_WINDOWBITS: 8,
- Z_MAX_WINDOWBITS: 15,
- Z_DEFAULT_WINDOWBITS: 15,
- Z_MIN_CHUNK: 64,
- Z_MAX_CHUNK: Infinity,
- Z_DEFAULT_CHUNK: 16384,
- Z_MIN_MEMLEVEL: 1,
- Z_MAX_MEMLEVEL: 9,
- Z_DEFAULT_MEMLEVEL: 8,
- Z_MIN_LEVEL: -1,
- Z_MAX_LEVEL: 9,
- Z_DEFAULT_LEVEL: -1,
- BROTLI_OPERATION_PROCESS: 0,
- BROTLI_OPERATION_FLUSH: 1,
- BROTLI_OPERATION_FINISH: 2,
- BROTLI_OPERATION_EMIT_METADATA: 3,
- BROTLI_MODE_GENERIC: 0,
- BROTLI_MODE_TEXT: 1,
- BROTLI_MODE_FONT: 2,
- BROTLI_DEFAULT_MODE: 0,
- BROTLI_MIN_QUALITY: 0,
- BROTLI_MAX_QUALITY: 11,
- BROTLI_DEFAULT_QUALITY: 11,
- BROTLI_MIN_WINDOW_BITS: 10,
- BROTLI_MAX_WINDOW_BITS: 24,
- BROTLI_LARGE_MAX_WINDOW_BITS: 30,
- BROTLI_DEFAULT_WINDOW: 22,
- BROTLI_MIN_INPUT_BLOCK_BITS: 16,
- BROTLI_MAX_INPUT_BLOCK_BITS: 24,
- BROTLI_PARAM_MODE: 0,
- BROTLI_PARAM_QUALITY: 1,
- BROTLI_PARAM_LGWIN: 2,
- BROTLI_PARAM_LGBLOCK: 3,
- BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING: 4,
- BROTLI_PARAM_SIZE_HINT: 5,
- BROTLI_PARAM_LARGE_WINDOW: 6,
- BROTLI_PARAM_NPOSTFIX: 7,
- BROTLI_PARAM_NDIRECT: 8,
- BROTLI_DECODER_RESULT_ERROR: 0,
- BROTLI_DECODER_RESULT_SUCCESS: 1,
- BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT: 2,
- BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT: 3,
- BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION: 0,
- BROTLI_DECODER_PARAM_LARGE_WINDOW: 1,
- BROTLI_DECODER_NO_ERROR: 0,
- BROTLI_DECODER_SUCCESS: 1,
- BROTLI_DECODER_NEEDS_MORE_INPUT: 2,
- BROTLI_DECODER_NEEDS_MORE_OUTPUT: 3,
- BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE: -1,
- BROTLI_DECODER_ERROR_FORMAT_RESERVED: -2,
- BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE: -3,
- BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET: -4,
- BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME: -5,
- BROTLI_DECODER_ERROR_FORMAT_CL_SPACE: -6,
- BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE: -7,
- BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT: -8,
- BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1: -9,
- BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2: -10,
- BROTLI_DECODER_ERROR_FORMAT_TRANSFORM: -11,
- BROTLI_DECODER_ERROR_FORMAT_DICTIONARY: -12,
- BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS: -13,
- BROTLI_DECODER_ERROR_FORMAT_PADDING_1: -14,
- BROTLI_DECODER_ERROR_FORMAT_PADDING_2: -15,
- BROTLI_DECODER_ERROR_FORMAT_DISTANCE: -16,
- BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET: -19,
- BROTLI_DECODER_ERROR_INVALID_ARGUMENTS: -20,
- BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES: -21,
- BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS: -22,
- BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP: -25,
- BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1: -26,
- BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: -27,
- BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: -30,
- BROTLI_DECODER_ERROR_UNREACHABLE: -31,
-}, realZlibConstants))
diff --git a/node_modules/node-gyp/node_modules/minizlib/index.js b/node_modules/node-gyp/node_modules/minizlib/index.js
deleted file mode 100644
index 295047b9c..000000000
--- a/node_modules/node-gyp/node_modules/minizlib/index.js
+++ /dev/null
@@ -1,320 +0,0 @@
-'use strict'
-
-const assert = require('assert')
-const Buffer = require('buffer').Buffer
-const realZlib = require('zlib')
-
-const constants = exports.constants = require('./constants.js')
-const Minipass = require('minipass')
-
-const OriginalBufferConcat = Buffer.concat
-
-class ZlibError extends Error {
- constructor (err) {
- super('zlib: ' + err.message)
- this.code = err.code
- this.errno = err.errno
- /* istanbul ignore if */
- if (!this.code)
- this.code = 'ZLIB_ERROR'
-
- this.message = 'zlib: ' + err.message
- Error.captureStackTrace(this, this.constructor)
- }
-
- get name () {
- return 'ZlibError'
- }
-}
-
-// the Zlib class they all inherit from
-// This thing manages the queue of requests, and returns
-// true or false if there is anything in the queue when
-// you call the .write() method.
-const _opts = Symbol('opts')
-const _flushFlag = Symbol('flushFlag')
-const _finishFlushFlag = Symbol('finishFlushFlag')
-const _fullFlushFlag = Symbol('fullFlushFlag')
-const _handle = Symbol('handle')
-const _onError = Symbol('onError')
-const _sawError = Symbol('sawError')
-const _level = Symbol('level')
-const _strategy = Symbol('strategy')
-const _ended = Symbol('ended')
-const _defaultFullFlush = Symbol('_defaultFullFlush')
-
-class ZlibBase extends Minipass {
- constructor (opts, mode) {
- if (!opts || typeof opts !== 'object')
- throw new TypeError('invalid options for ZlibBase constructor')
-
- super(opts)
- this[_ended] = false
- this[_opts] = opts
-
- this[_flushFlag] = opts.flush
- this[_finishFlushFlag] = opts.finishFlush
- // this will throw if any options are invalid for the class selected
- try {
- this[_handle] = new realZlib[mode](opts)
- } catch (er) {
- // make sure that all errors get decorated properly
- throw new ZlibError(er)
- }
-
- this[_onError] = (err) => {
- this[_sawError] = true
- // there is no way to cleanly recover.
- // continuing only obscures problems.
- this.close()
- this.emit('error', err)
- }
-
- this[_handle].on('error', er => this[_onError](new ZlibError(er)))
- this.once('end', () => this.close)
- }
-
- close () {
- if (this[_handle]) {
- this[_handle].close()
- this[_handle] = null
- this.emit('close')
- }
- }
-
- reset () {
- if (!this[_sawError]) {
- assert(this[_handle], 'zlib binding closed')
- return this[_handle].reset()
- }
- }
-
- flush (flushFlag) {
- if (this.ended)
- return
-
- if (typeof flushFlag !== 'number')
- flushFlag = this[_fullFlushFlag]
- this.write(Object.assign(Buffer.alloc(0), { [_flushFlag]: flushFlag }))
- }
-
- end (chunk, encoding, cb) {
- if (chunk)
- this.write(chunk, encoding)
- this.flush(this[_finishFlushFlag])
- this[_ended] = true
- return super.end(null, null, cb)
- }
-
- get ended () {
- return this[_ended]
- }
-
- write (chunk, encoding, cb) {
- // process the chunk using the sync process
- // then super.write() all the outputted chunks
- if (typeof encoding === 'function')
- cb = encoding, encoding = 'utf8'
-
- if (typeof chunk === 'string')
- chunk = Buffer.from(chunk, encoding)
-
- if (this[_sawError])
- return
- assert(this[_handle], 'zlib binding closed')
-
- // _processChunk tries to .close() the native handle after it's done, so we
- // intercept that by temporarily making it a no-op.
- const nativeHandle = this[_handle]._handle
- const originalNativeClose = nativeHandle.close
- nativeHandle.close = () => {}
- const originalClose = this[_handle].close
- this[_handle].close = () => {}
- // It also calls `Buffer.concat()` at the end, which may be convenient
- // for some, but which we are not interested in as it slows us down.
- Buffer.concat = (args) => args
- let result
- try {
- const flushFlag = typeof chunk[_flushFlag] === 'number'
- ? chunk[_flushFlag] : this[_flushFlag]
- result = this[_handle]._processChunk(chunk, flushFlag)
- // if we don't throw, reset it back how it was
- Buffer.concat = OriginalBufferConcat
- } catch (err) {
- // or if we do, put Buffer.concat() back before we emit error
- // Error events call into user code, which may call Buffer.concat()
- Buffer.concat = OriginalBufferConcat
- this[_onError](new ZlibError(err))
- } finally {
- if (this[_handle]) {
- // Core zlib resets `_handle` to null after attempting to close the
- // native handle. Our no-op handler prevented actual closure, but we
- // need to restore the `._handle` property.
- this[_handle]._handle = nativeHandle
- nativeHandle.close = originalNativeClose
- this[_handle].close = originalClose
- // `_processChunk()` adds an 'error' listener. If we don't remove it
- // after each call, these handlers start piling up.
- this[_handle].removeAllListeners('error')
- }
- }
-
- let writeReturn
- if (result) {
- if (Array.isArray(result) && result.length > 0) {
- // The first buffer is always `handle._outBuffer`, which would be
- // re-used for later invocations; so, we always have to copy that one.
- writeReturn = super.write(Buffer.from(result[0]))
- for (let i = 1; i < result.length; i++) {
- writeReturn = super.write(result[i])
- }
- } else {
- writeReturn = super.write(Buffer.from(result))
- }
- }
-
- if (cb)
- cb()
- return writeReturn
- }
-}
-
-class Zlib extends ZlibBase {
- constructor (opts, mode) {
- opts = opts || {}
-
- opts.flush = opts.flush || constants.Z_NO_FLUSH
- opts.finishFlush = opts.finishFlush || constants.Z_FINISH
- super(opts, mode)
-
- this[_fullFlushFlag] = constants.Z_FULL_FLUSH
- this[_level] = opts.level
- this[_strategy] = opts.strategy
- }
-
- params (level, strategy) {
- if (this[_sawError])
- return
-
- if (!this[_handle])
- throw new Error('cannot switch params when binding is closed')
-
- // no way to test this without also not supporting params at all
- /* istanbul ignore if */
- if (!this[_handle].params)
- throw new Error('not supported in this implementation')
-
- if (this[_level] !== level || this[_strategy] !== strategy) {
- this.flush(constants.Z_SYNC_FLUSH)
- assert(this[_handle], 'zlib binding closed')
- // .params() calls .flush(), but the latter is always async in the
- // core zlib. We override .flush() temporarily to intercept that and
- // flush synchronously.
- const origFlush = this[_handle].flush
- this[_handle].flush = (flushFlag, cb) => {
- this.flush(flushFlag)
- cb()
- }
- try {
- this[_handle].params(level, strategy)
- } finally {
- this[_handle].flush = origFlush
- }
- /* istanbul ignore else */
- if (this[_handle]) {
- this[_level] = level
- this[_strategy] = strategy
- }
- }
- }
-}
-
-// minimal 2-byte header
-class Deflate extends Zlib {
- constructor (opts) {
- super(opts, 'Deflate')
- }
-}
-
-class Inflate extends Zlib {
- constructor (opts) {
- super(opts, 'Inflate')
- }
-}
-
-// gzip - bigger header, same deflate compression
-class Gzip extends Zlib {
- constructor (opts) {
- super(opts, 'Gzip')
- }
-}
-
-class Gunzip extends Zlib {
- constructor (opts) {
- super(opts, 'Gunzip')
- }
-}
-
-// raw - no header
-class DeflateRaw extends Zlib {
- constructor (opts) {
- super(opts, 'DeflateRaw')
- }
-}
-
-class InflateRaw extends Zlib {
- constructor (opts) {
- super(opts, 'InflateRaw')
- }
-}
-
-// auto-detect header.
-class Unzip extends Zlib {
- constructor (opts) {
- super(opts, 'Unzip')
- }
-}
-
-class Brotli extends ZlibBase {
- constructor (opts, mode) {
- opts = opts || {}
-
- opts.flush = opts.flush || constants.BROTLI_OPERATION_PROCESS
- opts.finishFlush = opts.finishFlush || constants.BROTLI_OPERATION_FINISH
-
- super(opts, mode)
-
- this[_fullFlushFlag] = constants.BROTLI_OPERATION_FLUSH
- }
-}
-
-class BrotliCompress extends Brotli {
- constructor (opts) {
- super(opts, 'BrotliCompress')
- }
-}
-
-class BrotliDecompress extends Brotli {
- constructor (opts) {
- super(opts, 'BrotliDecompress')
- }
-}
-
-exports.Deflate = Deflate
-exports.Inflate = Inflate
-exports.Gzip = Gzip
-exports.Gunzip = Gunzip
-exports.DeflateRaw = DeflateRaw
-exports.InflateRaw = InflateRaw
-exports.Unzip = Unzip
-/* istanbul ignore else */
-if (typeof realZlib.BrotliCompress === 'function') {
- exports.BrotliCompress = BrotliCompress
- exports.BrotliDecompress = BrotliDecompress
-} else {
- exports.BrotliCompress = exports.BrotliDecompress = class {
- constructor () {
- throw new Error('Brotli is not supported in this version of Node.js')
- }
- }
-}
diff --git a/node_modules/node-gyp/node_modules/minizlib/package.json b/node_modules/node-gyp/node_modules/minizlib/package.json
deleted file mode 100644
index 98e7ab945..000000000
--- a/node_modules/node-gyp/node_modules/minizlib/package.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- "_from": "minizlib@^1.2.1",
- "_id": "minizlib@1.3.3",
- "_inBundle": false,
- "_integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
- "_location": "/node-gyp/minizlib",
- "_phantomChildren": {},
- "_requested": {
- "type": "range",
- "registry": true,
- "raw": "minizlib@^1.2.1",
- "name": "minizlib",
- "escapedName": "minizlib",
- "rawSpec": "^1.2.1",
- "saveSpec": null,
- "fetchSpec": "^1.2.1"
- },
- "_requiredBy": [
- "/node-gyp/tar"
- ],
- "_resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
- "_shasum": "2290de96818a34c29551c8a8d301216bd65a861d",
- "_spec": "minizlib@^1.2.1",
- "_where": "/Users/isaacs/dev/npm/cli/node_modules/node-gyp/node_modules/tar",
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me",
- "url": "http://blog.izs.me/"
- },
- "bugs": {
- "url": "https://github.com/isaacs/minizlib/issues"
- },
- "bundleDependencies": false,
- "dependencies": {
- "minipass": "^2.9.0"
- },
- "deprecated": false,
- "description": "A small fast zlib stream built on [minipass](http://npm.im/minipass) and Node.js's zlib binding.",
- "devDependencies": {
- "tap": "^12.0.1"
- },
- "files": [
- "index.js",
- "constants.js"
- ],
- "homepage": "https://github.com/isaacs/minizlib#readme",
- "keywords": [
- "zlib",
- "gzip",
- "gunzip",
- "deflate",
- "inflate",
- "compression",
- "zip",
- "unzip"
- ],
- "license": "MIT",
- "main": "index.js",
- "name": "minizlib",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/isaacs/minizlib.git"
- },
- "scripts": {
- "postpublish": "git push origin --all; git push origin --tags",
- "postversion": "npm publish",
- "preversion": "npm test",
- "test": "tap test/*.js --100 -J"
- },
- "version": "1.3.3"
-}
diff --git a/node_modules/node-gyp/node_modules/yallist/LICENSE b/node_modules/node-gyp/node_modules/yallist/LICENSE
deleted file mode 100644
index 19129e315..000000000
--- a/node_modules/node-gyp/node_modules/yallist/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/node_modules/node-gyp/node_modules/yallist/README.md b/node_modules/node-gyp/node_modules/yallist/README.md
deleted file mode 100644
index f58610186..000000000
--- a/node_modules/node-gyp/node_modules/yallist/README.md
+++ /dev/null
@@ -1,204 +0,0 @@
-# yallist
-
-Yet Another Linked List
-
-There are many doubly-linked list implementations like it, but this
-one is mine.
-
-For when an array would be too big, and a Map can't be iterated in
-reverse order.
-
-
-[![Build Status](https://travis-ci.org/isaacs/yallist.svg?branch=master)](https://travis-ci.org/isaacs/yallist) [![Coverage Status](https://coveralls.io/repos/isaacs/yallist/badge.svg?service=github)](https://coveralls.io/github/isaacs/yallist)
-
-## basic usage
-
-```javascript
-var yallist = require('yallist')
-var myList = yallist.create([1, 2, 3])
-myList.push('foo')
-myList.unshift('bar')
-// of course pop() and shift() are there, too
-console.log(myList.toArray()) // ['bar', 1, 2, 3, 'foo']
-myList.forEach(function (k) {
- // walk the list head to tail
-})
-myList.forEachReverse(function (k, index, list) {
- // walk the list tail to head
-})
-var myDoubledList = myList.map(function (k) {
- return k + k
-})
-// now myDoubledList contains ['barbar', 2, 4, 6, 'foofoo']
-// mapReverse is also a thing
-var myDoubledListReverse = myList.mapReverse(function (k) {
- return k + k
-}) // ['foofoo', 6, 4, 2, 'barbar']
-
-var reduced = myList.reduce(function (set, entry) {
- set += entry
- return set
-}, 'start')
-console.log(reduced) // 'startfoo123bar'
-```
-
-## api
-
-The whole API is considered "public".
-
-Functions with the same name as an Array method work more or less the
-same way.
-
-There's reverse versions of most things because that's the point.
-
-### Yallist
-
-Default export, the class that holds and manages a list.
-
-Call it with either a forEach-able (like an array) or a set of
-arguments, to initialize the list.
-
-The Array-ish methods all act like you'd expect. No magic length,
-though, so if you change that it won't automatically prune or add
-empty spots.
-
-### Yallist.create(..)
-
-Alias for Yallist function. Some people like factories.
-
-#### yallist.head
-
-The first node in the list
-
-#### yallist.tail
-
-The last node in the list
-
-#### yallist.length
-
-The number of nodes in the list. (Change this at your peril. It is
-not magic like Array length.)
-
-#### yallist.toArray()
-
-Convert the list to an array.
-
-#### yallist.forEach(fn, [thisp])
-
-Call a function on each item in the list.
-
-#### yallist.forEachReverse(fn, [thisp])
-
-Call a function on each item in the list, in reverse order.
-
-#### yallist.get(n)
-
-Get the data at position `n` in the list. If you use this a lot,
-probably better off just using an Array.
-
-#### yallist.getReverse(n)
-
-Get the data at position `n`, counting from the tail.
-
-#### yallist.map(fn, thisp)
-
-Create a new Yallist with the result of calling the function on each
-item.
-
-#### yallist.mapReverse(fn, thisp)
-
-Same as `map`, but in reverse.
-
-#### yallist.pop()
-
-Get the data from the list tail, and remove the tail from the list.
-
-#### yallist.push(item, ...)
-
-Insert one or more items to the tail of the list.
-
-#### yallist.reduce(fn, initialValue)
-
-Like Array.reduce.
-
-#### yallist.reduceReverse
-
-Like Array.reduce, but in reverse.
-
-#### yallist.reverse
-
-Reverse the list in place.
-
-#### yallist.shift()
-
-Get the data from the list head, and remove the head from the list.
-
-#### yallist.slice([from], [to])
-
-Just like Array.slice, but returns a new Yallist.
-
-#### yallist.sliceReverse([from], [to])
-
-Just like yallist.slice, but the result is returned in reverse.
-
-#### yallist.toArray()
-
-Create an array representation of the list.
-
-#### yallist.toArrayReverse()
-
-Create a reversed array representation of the list.
-
-#### yallist.unshift(item, ...)
-
-Insert one or more items to the head of the list.
-
-#### yallist.unshiftNode(node)
-
-Move a Node object to the front of the list. (That is, pull it out of
-wherever it lives, and make it the new head.)
-
-If the node belongs to a different list, then that list will remove it
-first.
-
-#### yallist.pushNode(node)
-
-Move a Node object to the end of the list. (That is, pull it out of
-wherever it lives, and make it the new tail.)
-
-If the node belongs to a list already, then that list will remove it
-first.
-
-#### yallist.removeNode(node)
-
-Remove a node from the list, preserving referential integrity of head
-and tail and other nodes.
-
-Will throw an error if you try to have a list remove a node that
-doesn't belong to it.
-
-### Yallist.Node
-
-The class that holds the data and is actually the list.
-
-Call with `var n = new Node(value, previousNode, nextNode)`
-
-Note that if you do direct operations on Nodes themselves, it's very
-easy to get into weird states where the list is broken. Be careful :)
-
-#### node.next
-
-The next node in the list.
-
-#### node.prev
-
-The previous node in the list.
-
-#### node.value
-
-The data the node contains.
-
-#### node.list
-
-The list to which this node belongs. (Null if it does not belong to
-any list.)
diff --git a/node_modules/node-gyp/node_modules/yallist/iterator.js b/node_modules/node-gyp/node_modules/yallist/iterator.js
deleted file mode 100644
index d41c97a19..000000000
--- a/node_modules/node-gyp/node_modules/yallist/iterator.js
+++ /dev/null
@@ -1,8 +0,0 @@
-'use strict'
-module.exports = function (Yallist) {
- Yallist.prototype[Symbol.iterator] = function* () {
- for (let walker = this.head; walker; walker = walker.next) {
- yield walker.value
- }
- }
-}
diff --git a/node_modules/node-gyp/node_modules/yallist/package.json b/node_modules/node-gyp/node_modules/yallist/package.json
deleted file mode 100644
index 485ed9c8a..000000000
--- a/node_modules/node-gyp/node_modules/yallist/package.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "_from": "yallist@^3.0.3",
- "_id": "yallist@3.1.1",
- "_inBundle": false,
- "_integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "_location": "/node-gyp/yallist",
- "_phantomChildren": {},
- "_requested": {
- "type": "range",
- "registry": true,
- "raw": "yallist@^3.0.3",
- "name": "yallist",
- "escapedName": "yallist",
- "rawSpec": "^3.0.3",
- "saveSpec": null,
- "fetchSpec": "^3.0.3"
- },
- "_requiredBy": [
- "/node-gyp/minipass",
- "/node-gyp/tar"
- ],
- "_resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "_shasum": "dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd",
- "_spec": "yallist@^3.0.3",
- "_where": "/Users/isaacs/dev/npm/cli/node_modules/node-gyp/node_modules/tar",
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me",
- "url": "http://blog.izs.me/"
- },
- "bugs": {
- "url": "https://github.com/isaacs/yallist/issues"
- },
- "bundleDependencies": false,
- "dependencies": {},
- "deprecated": false,
- "description": "Yet Another Linked List",
- "devDependencies": {
- "tap": "^12.1.0"
- },
- "directories": {
- "test": "test"
- },
- "files": [
- "yallist.js",
- "iterator.js"
- ],
- "homepage": "https://github.com/isaacs/yallist#readme",
- "license": "ISC",
- "main": "yallist.js",
- "name": "yallist",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/isaacs/yallist.git"
- },
- "scripts": {
- "postpublish": "git push origin --all; git push origin --tags",
- "postversion": "npm publish",
- "preversion": "npm test",
- "test": "tap test/*.js --100"
- },
- "version": "3.1.1"
-}
diff --git a/node_modules/node-gyp/node_modules/yallist/yallist.js b/node_modules/node-gyp/node_modules/yallist/yallist.js
deleted file mode 100644
index ed4e7303a..000000000
--- a/node_modules/node-gyp/node_modules/yallist/yallist.js
+++ /dev/null
@@ -1,426 +0,0 @@
-'use strict'
-module.exports = Yallist
-
-Yallist.Node = Node
-Yallist.create = Yallist
-
-function Yallist (list) {
- var self = this
- if (!(self instanceof Yallist)) {
- self = new Yallist()
- }
-
- self.tail = null
- self.head = null
- self.length = 0
-
- if (list && typeof list.forEach === 'function') {
- list.forEach(function (item) {
- self.push(item)
- })
- } else if (arguments.length > 0) {
- for (var i = 0, l = arguments.length; i < l; i++) {
- self.push(arguments[i])
- }
- }
-
- return self
-}
-
-Yallist.prototype.removeNode = function (node) {
- if (node.list !== this) {
- throw new Error('removing node which does not belong to this list')
- }
-
- var next = node.next
- var prev = node.prev
-
- if (next) {
- next.prev = prev
- }
-
- if (prev) {
- prev.next = next
- }
-
- if (node === this.head) {
- this.head = next
- }
- if (node === this.tail) {
- this.tail = prev
- }
-
- node.list.length--
- node.next = null
- node.prev = null
- node.list = null
-
- return next
-}
-
-Yallist.prototype.unshiftNode = function (node) {
- if (node === this.head) {
- return
- }
-
- if (node.list) {
- node.list.removeNode(node)
- }
-
- var head = this.head
- node.list = this
- node.next = head
- if (head) {
- head.prev = node
- }
-
- this.head = node
- if (!this.tail) {
- this.tail = node
- }
- this.length++
-}
-
-Yallist.prototype.pushNode = function (node) {
- if (node === this.tail) {
- return
- }
-
- if (node.list) {
- node.list.removeNode(node)
- }
-
- var tail = this.tail
- node.list = this
- node.prev = tail
- if (tail) {
- tail.next = node
- }
-
- this.tail = node
- if (!this.head) {
- this.head = node
- }
- this.length++
-}
-
-Yallist.prototype.push = function () {
- for (var i = 0, l = arguments.length; i < l; i++) {
- push(this, arguments[i])
- }
- return this.length
-}
-
-Yallist.prototype.unshift = function () {
- for (var i = 0, l = arguments.length; i < l; i++) {
- unshift(this, arguments[i])
- }
- return this.length
-}
-
-Yallist.prototype.pop = function () {
- if (!this.tail) {
- return undefined
- }
-
- var res = this.tail.value
- this.tail = this.tail.prev
- if (this.tail) {
- this.tail.next = null
- } else {
- this.head = null
- }
- this.length--
- return res
-}
-
-Yallist.prototype.shift = function () {
- if (!this.head) {
- return undefined
- }
-
- var res = this.head.value
- this.head = this.head.next
- if (this.head) {
- this.head.prev = null
- } else {
- this.tail = null
- }
- this.length--
- return res
-}
-
-Yallist.prototype.forEach = function (fn, thisp) {
- thisp = thisp || this
- for (var walker = this.head, i = 0; walker !== null; i++) {
- fn.call(thisp, walker.value, i, this)
- walker = walker.next
- }
-}
-
-Yallist.prototype.forEachReverse = function (fn, thisp) {
- thisp = thisp || this
- for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {
- fn.call(thisp, walker.value, i, this)
- walker = walker.prev
- }
-}
-
-Yallist.prototype.get = function (n) {
- for (var i = 0, walker = this.head; walker !== null && i < n; i++) {
- // abort out of the list early if we hit a cycle
- walker = walker.next
- }
- if (i === n && walker !== null) {
- return walker.value
- }
-}
-
-Yallist.prototype.getReverse = function (n) {
- for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {
- // abort out of the list early if we hit a cycle
- walker = walker.prev
- }
- if (i === n && walker !== null) {
- return walker.value
- }
-}
-
-Yallist.prototype.map = function (fn, thisp) {
- thisp = thisp || this
- var res = new Yallist()
- for (var walker = this.head; walker !== null;) {
- res.push(fn.call(thisp, walker.value, this))
- walker = walker.next
- }
- return res
-}
-
-Yallist.prototype.mapReverse = function (fn, thisp) {
- thisp = thisp || this
- var res = new Yallist()
- for (var walker = this.tail; walker !== null;) {
- res.push(fn.call(thisp, walker.value, this))
- walker = walker.prev
- }
- return res
-}
-
-Yallist.prototype.reduce = function (fn, initial) {
- var acc
- var walker = this.head
- if (arguments.length > 1) {
- acc = initial
- } else if (this.head) {
- walker = this.head.next
- acc = this.head.value
- } else {
- throw new TypeError('Reduce of empty list with no initial value')
- }
-
- for (var i = 0; walker !== null; i++) {
- acc = fn(acc, walker.value, i)
- walker = walker.next
- }
-
- return acc
-}
-
-Yallist.prototype.reduceReverse = function (fn, initial) {
- var acc
- var walker = this.tail
- if (arguments.length > 1) {
- acc = initial
- } else if (this.tail) {
- walker = this.tail.prev
- acc = this.tail.value
- } else {
- throw new TypeError('Reduce of empty list with no initial value')
- }
-
- for (var i = this.length - 1; walker !== null; i--) {
- acc = fn(acc, walker.value, i)
- walker = walker.prev
- }
-
- return acc
-}
-
-Yallist.prototype.toArray = function () {
- var arr = new Array(this.length)
- for (var i = 0, walker = this.head; walker !== null; i++) {
- arr[i] = walker.value
- walker = walker.next
- }
- return arr
-}
-
-Yallist.prototype.toArrayReverse = function () {
- var arr = new Array(this.length)
- for (var i = 0, walker = this.tail; walker !== null; i++) {
- arr[i] = walker.value
- walker = walker.prev
- }
- return arr
-}
-
-Yallist.prototype.slice = function (from, to) {
- to = to || this.length
- if (to < 0) {
- to += this.length
- }
- from = from || 0
- if (from < 0) {
- from += this.length
- }
- var ret = new Yallist()
- if (to < from || to < 0) {
- return ret
- }
- if (from < 0) {
- from = 0
- }
- if (to > this.length) {
- to = this.length
- }
- for (var i = 0, walker = this.head; walker !== null && i < from; i++) {
- walker = walker.next
- }
- for (; walker !== null && i < to; i++, walker = walker.next) {
- ret.push(walker.value)
- }
- return ret
-}
-
-Yallist.prototype.sliceReverse = function (from, to) {
- to = to || this.length
- if (to < 0) {
- to += this.length
- }
- from = from || 0
- if (from < 0) {
- from += this.length
- }
- var ret = new Yallist()
- if (to < from || to < 0) {
- return ret
- }
- if (from < 0) {
- from = 0
- }
- if (to > this.length) {
- to = this.length
- }
- for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {
- walker = walker.prev
- }
- for (; walker !== null && i > from; i--, walker = walker.prev) {
- ret.push(walker.value)
- }
- return ret
-}
-
-Yallist.prototype.splice = function (start, deleteCount /*, ...nodes */) {
- if (start > this.length) {
- start = this.length - 1
- }
- if (start < 0) {
- start = this.length + start;
- }
-
- for (var i = 0, walker = this.head; walker !== null && i < start; i++) {
- walker = walker.next
- }
-
- var ret = []
- for (var i = 0; walker && i < deleteCount; i++) {
- ret.push(walker.value)
- walker = this.removeNode(walker)
- }
- if (walker === null) {
- walker = this.tail
- }
-
- if (walker !== this.head && walker !== this.tail) {
- walker = walker.prev
- }
-
- for (var i = 2; i < arguments.length; i++) {
- walker = insert(this, walker, arguments[i])
- }
- return ret;
-}
-
-Yallist.prototype.reverse = function () {
- var head = this.head
- var tail = this.tail
- for (var walker = head; walker !== null; walker = walker.prev) {
- var p = walker.prev
- walker.prev = walker.next
- walker.next = p
- }
- this.head = tail
- this.tail = head
- return this
-}
-
-function insert (self, node, value) {
- var inserted = node === self.head ?
- new Node(value, null, node, self) :
- new Node(value, node, node.next, self)
-
- if (inserted.next === null) {
- self.tail = inserted
- }
- if (inserted.prev === null) {
- self.head = inserted
- }
-
- self.length++
-
- return inserted
-}
-
-function push (self, item) {
- self.tail = new Node(item, self.tail, null, self)
- if (!self.head) {
- self.head = self.tail
- }
- self.length++
-}
-
-function unshift (self, item) {
- self.head = new Node(item, null, self.head, self)
- if (!self.tail) {
- self.tail = self.head
- }
- self.length++
-}
-
-function Node (value, prev, next, list) {
- if (!(this instanceof Node)) {
- return new Node(value, prev, next, list)
- }
-
- this.list = list
- this.value = value
-
- if (prev) {
- prev.next = this
- this.prev = prev
- } else {
- this.prev = null
- }
-
- if (next) {
- next.prev = this
- this.next = next
- } else {
- this.next = null
- }
-}
-
-try {
- // add if support for Symbol.iterator is present
- require('./iterator.js')(Yallist)
-} catch (er) {}
diff --git a/node_modules/node-gyp/package.json b/node_modules/node-gyp/package.json
index 7b8925735..bf3b2ebdf 100644
--- a/node_modules/node-gyp/package.json
+++ b/node_modules/node-gyp/package.json
@@ -5,9 +5,13 @@
"_integrity": "sha512-h4A2zDlOujeeaaTx06r4Vy+8MZ1679lU+wbCKDS4ZtvY2A37DESo37oejIw0mtmR3+rvNwts5B6Kpt1KrNYdNw==",
"_location": "/node-gyp",
"_phantomChildren": {
+ "fs-minipass": "1.2.7",
"isexe": "2.0.0",
"minimist": "1.2.5",
- "safe-buffer": "5.1.2"
+ "minipass": "2.9.0",
+ "minizlib": "1.3.3",
+ "safe-buffer": "5.2.1",
+ "yallist": "3.1.1"
},
"_requested": {
"type": "range",