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:
authorForrest L Norvell <forrest@npmjs.com>2015-11-19 05:26:56 +0300
committerRebecca Turner <me@re-becca.org>2015-11-20 04:04:25 +0300
commit17df3b5d5dffb2e9c223b9cfa2d5fd78c39492a4 (patch)
tree0c8fc9bf468a8924dc6e996832d94d48db0e2d10 /node_modules/npm-registry-client
parent65a64c9277184b1a0665d78fce0a9b00f930d9bc (diff)
npm-registry-client@7.0.9
Allow access grants, revocations, and enumerations to be requested for unscoped packages, because the version of teams and orgs that shipped for the primary registry changed somewhere along the way to allow orgs to own unscoped packages. Credit: @othiym23 PR-URL: https://github.com/npm/npm-registry-client/pull/126
Diffstat (limited to 'node_modules/npm-registry-client')
-rw-r--r--node_modules/npm-registry-client/lib/access.js10
-rw-r--r--node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/.travis.yml37
-rw-r--r--node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/doc/stream.markdown175
-rw-r--r--node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_readable.js48
-rw-r--r--node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js15
-rw-r--r--node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/LICENSE19
-rw-r--r--node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/lib/util.js22
-rw-r--r--node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/package.json99
-rw-r--r--node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/test.js68
-rw-r--r--node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/util.js106
-rw-r--r--node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/package.json90
-rw-r--r--node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/package.json23
-rw-r--r--node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/package.json87
-rw-r--r--node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/package.json46
-rw-r--r--node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/package.json21
-rw-r--r--node_modules/npm-registry-client/node_modules/concat-stream/package.json31
-rw-r--r--node_modules/npm-registry-client/node_modules/concat-stream/readme.md8
-rw-r--r--node_modules/npm-registry-client/package.json52
-rw-r--r--node_modules/npm-registry-client/test/access.js74
19 files changed, 674 insertions, 357 deletions
diff --git a/node_modules/npm-registry-client/lib/access.js b/node_modules/npm-registry-client/lib/access.js
index badb770ea..ff01e95e2 100644
--- a/node_modules/npm-registry-client/lib/access.js
+++ b/node_modules/npm-registry-client/lib/access.js
@@ -102,20 +102,20 @@ function accessAssertions (subcommand, uri, params, cb) {
'callback': [cb, 'function']
})
if (contains([
- 'public', 'restricted', 'grant', 'revoke', 'ls-collaborators'
+ 'public', 'restricted'
], subcommand)) {
- typeChecks({ 'package': [params.package, 'string']})
+ typeChecks({ 'package': [params.package, 'string'] })
assert(!!npa(params.package).scope,
'access commands are only accessible for scoped packages')
}
if (contains(['grant', 'revoke', 'ls-packages'], subcommand)) {
- typeChecks({ 'scope': [params.scope, 'string']})
+ typeChecks({ 'scope': [params.scope, 'string'] })
}
if (contains(['grant', 'revoke'], subcommand)) {
- typeChecks({ 'team': [params.team, 'string']})
+ typeChecks({ 'team': [params.team, 'string'] })
}
if (subcommand === 'grant') {
- typeChecks({ 'permissions': [params.permissions, 'string']})
+ typeChecks({ 'permissions': [params.permissions, 'string'] })
assert(params.permissions === 'read-only' ||
params.permissions === 'read-write',
'permissions must be either read-only or read-write')
diff --git a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/.travis.yml b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/.travis.yml
index a2870dfb1..cfe1c9439 100644
--- a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/.travis.yml
+++ b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/.travis.yml
@@ -1,6 +1,7 @@
sudo: false
language: node_js
before_install:
+ - npm install -g npm@2
- npm install -g npm
notifications:
email: false
@@ -14,23 +15,33 @@ matrix:
env: TASK=test
- node_js: '0.12'
env: TASK=test
- - node_js: 'iojs'
+ - node_js: 1
env: TASK=test
- - node_js: 'iojs'
+ - node_js: 2
+ env: TASK=test
+ - node_js: 3
+ env: TASK=test
+ - node_js: 4
+ env: TASK=test
+ - node_js: 5
+ env: TASK=test
+ - node_js: node
+ env: TASK=test
+ - node_js: node
env: TASK=browser BROWSER_NAME=opera BROWSER_VERSION="11..latest"
- - node_js: 'iojs'
+ - node_js: node
env: TASK=browser BROWSER_NAME=ie BROWSER_VERSION="9..latest"
- - node_js: 'iojs'
- env: TASK=browser BROWSER_NAME=chrome BROWSER_VERSION="39..beta"
- - node_js: 'iojs'
- env: TASK=browser BROWSER_NAME=firefox BROWSER_VERSION="34..beta"
- - node_js: 'iojs'
- env: TASK=browser BROWSER_NAME=ipad BROWSER_VERSION="6.0..latest"
- - node_js: 'iojs'
- env: TASK=browser BROWSER_NAME=iphone BROWSER_VERSION="6.0..latest"
- - node_js: 'iojs'
+ - node_js: node
+ env: TASK=browser BROWSER_NAME=chrome BROWSER_VERSION="41..beta"
+ - node_js: node
+ env: TASK=browser BROWSER_NAME=firefox BROWSER_VERSION="36..latest"
+ - node_js: node
+ env: TASK=browser BROWSER_NAME=ipad BROWSER_VERSION="['6.1', '7.1', '8.2']"
+ - node_js: node
+ env: TASK=browser BROWSER_NAME=iphone BROWSER_VERSION="['6.1', '7.1', '8.2']"
+ - node_js: node
env: TASK=browser BROWSER_NAME=safari BROWSER_VERSION="5..latest"
- - node_js: 'iojs'
+ - node_js: node
env: TASK=browser BROWSER_NAME=android BROWSER_VERSION="4.0..latest"
script: "npm run $TASK"
env:
diff --git a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/doc/stream.markdown b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/doc/stream.markdown
index e34dac429..f84543a23 100644
--- a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/doc/stream.markdown
+++ b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/doc/stream.markdown
@@ -3,8 +3,8 @@
Stability: 2 - Stable
A stream is an abstract interface implemented by various objects in
-io.js. For example a [request to an HTTP
-server](https://iojs.org/dist/v2.3.0/doc/api/http.html#http_http_incomingmessage) is a stream, as is
+Node.js. For example a [request to an HTTP
+server](https://iojs.org/dist/v5.0.0/doc/api/http.html#http_http_incomingmessage) is a stream, as is
[stdout][]. Streams are readable, writable, or both. All streams are
instances of [EventEmitter][]
@@ -47,8 +47,8 @@ streams in your programs. If you **are** implementing streaming
interfaces in your own program, please also refer to
[API for Stream Implementors][] below.
-Almost all io.js programs, no matter how simple, use Streams in some
-way. Here is an example of using Streams in an io.js program:
+Almost all Node.js programs, no matter how simple, use Streams in some
+way. Here is an example of using Streams in an Node.js program:
```javascript
var http = require('http');
@@ -136,9 +136,9 @@ destinations drain and ask for more data.
Examples of readable streams include:
-* [http responses, on the client](https://iojs.org/dist/v2.3.0/doc/api/http.html#http_http_incomingmessage)
-* [http requests, on the server](https://iojs.org/dist/v2.3.0/doc/api/http.html#http_http_incomingmessage)
-* [fs read streams](https://iojs.org/dist/v2.3.0/doc/api/fs.html#fs_class_fs_readstream)
+* [http responses, on the client](https://iojs.org/dist/v5.0.0/doc/api/http.html#http_http_incomingmessage)
+* [http requests, on the server](https://iojs.org/dist/v5.0.0/doc/api/http.html#http_http_incomingmessage)
+* [fs read streams](https://iojs.org/dist/v5.0.0/doc/api/fs.html#fs_class_fs_readstream)
* [zlib streams][]
* [crypto streams][]
* [tcp sockets][]
@@ -164,6 +164,34 @@ readable.on('readable', function() {
Once the internal buffer is drained, a `readable` event will fire
again when more data is available.
+The `readable` event is not emitted in the "flowing" mode with the
+sole exception of the last one, on end-of-stream.
+
+The 'readable' event indicates that the stream has new information:
+either new data is available or the end of the stream has been reached.
+In the former case, `.read()` will return that data. In the latter case,
+`.read()` will return null. For instance, in the following example, `foo.txt`
+is an empty file:
+
+```javascript
+var fs = require('fs');
+var rr = fs.createReadStream('foo.txt');
+rr.on('readable', function() {
+ console.log('readable:', rr.read());
+});
+rr.on('end', function() {
+ console.log('end');
+});
+```
+
+The output of running this script is:
+
+```
+bash-3.2$ node test.js
+readable: null
+end
+```
+
#### Event: 'data'
* `chunk` {Buffer | String} The chunk of data.
@@ -202,8 +230,11 @@ readable.on('end', function() {
#### Event: 'close'
-Emitted when the underlying resource (for example, the backing file
-descriptor) has been closed. Not all streams will emit this.
+Emitted when the stream and any of its underlying resources (a file
+descriptor, for example) have been closed. The event indicates that
+no more events will be emitted, and no further computation will occur.
+
+Not all streams will emit the 'close' event.
#### Event: 'error'
@@ -221,7 +252,9 @@ returns it. If there is no data available, then it will return
`null`.
If you pass in a `size` argument, then it will return that many
-bytes. If `size` bytes are not available, then it will return `null`.
+bytes. If `size` bytes are not available, then it will return `null`,
+unless we've ended, in which case it will return the data remaining
+in the buffer.
If you do not specify a `size` argument, then it will return all the
data in the internal buffer.
@@ -243,6 +276,9 @@ readable.on('readable', function() {
If this method returns a data chunk, then it will also trigger the
emission of a [`'data'` event][].
+Note that calling `readable.read([size])` after the `end` event has been
+triggered will return `null`. No runtime error will be raised.
+
#### readable.setEncoding(encoding)
* `encoding` {String} The encoding to use.
@@ -414,6 +450,9 @@ parser, which needs to "un-consume" some data that it has
optimistically pulled out of the source, so that the stream can be
passed on to some other party.
+Note that `stream.unshift(chunk)` cannot be called after the `end` event
+has been triggered; a runtime error will be raised.
+
If you find that you must often call `stream.unshift(chunk)` in your
programs, consider implementing a [Transform][] stream instead. (See API
for Stream Implementors, below.)
@@ -452,6 +491,13 @@ function parseHeader(stream, callback) {
}
}
```
+Note that, unlike `stream.push(chunk)`, `stream.unshift(chunk)` will not
+end the reading process by resetting the internal reading state of the
+stream. This can cause unexpected results if `unshift` is called during a
+read (i.e. from within a `_read` implementation on a custom stream). Following
+the call to `unshift` with an immediate `stream.push('')` will reset the
+reading state appropriately, however it is best to simply avoid calling
+`unshift` while in the process of performing a read.
#### readable.wrap(stream)
@@ -461,13 +507,13 @@ Versions of Node.js prior to v0.10 had streams that did not implement the
entire Streams API as it is today. (See "Compatibility" below for
more information.)
-If you are using an older io.js library that emits `'data'` events and
+If you are using an older Node.js library that emits `'data'` events and
has a [`pause()`][] method that is advisory only, then you can use the
`wrap()` method to create a [Readable][] stream that uses the old stream
as its data source.
You will very rarely ever need to call this function, but it exists
-as a convenience for interacting with old io.js programs and libraries.
+as a convenience for interacting with old Node.js programs and libraries.
For example:
@@ -492,13 +538,13 @@ that you are writing data *to*.
Examples of writable streams include:
-* [http requests, on the client](https://iojs.org/dist/v2.3.0/doc/api/http.html#http_class_http_clientrequest)
-* [http responses, on the server](https://iojs.org/dist/v2.3.0/doc/api/http.html#http_class_http_serverresponse)
-* [fs write streams](https://iojs.org/dist/v2.3.0/doc/api/fs.html#fs_class_fs_writestream)
+* [http requests, on the client](https://iojs.org/dist/v5.0.0/doc/api/http.html#http_class_http_clientrequest)
+* [http responses, on the server](https://iojs.org/dist/v5.0.0/doc/api/http.html#http_class_http_serverresponse)
+* [fs write streams](https://iojs.org/dist/v5.0.0/doc/api/fs.html#fs_class_fs_writestream)
* [zlib streams][]
* [crypto streams][]
* [tcp sockets][]
-* [child process stdin](https://iojs.org/dist/v2.3.0/doc/api/child_process.html#child_process_child_stdin)
+* [child process stdin](https://iojs.org/dist/v5.0.0/doc/api/child_process.html#child_process_child_stdin)
* [process.stdout][], [process.stderr][]
#### writable.write(chunk[, encoding][, callback])
@@ -527,7 +573,7 @@ event will indicate when it is appropriate to begin writing more data
to the stream.
```javascript
-// Write the data to the supplied writable stream 1MM times.
+// Write the data to the supplied writable stream one million times.
// Be attentive to back-pressure.
function writeOneMillionTimes(writer, data, encoding, callback) {
var i = 1000000;
@@ -883,6 +929,10 @@ SimpleProtocol.prototype._read = function(n) {
// back into the read queue so that our consumer will see it.
var b = chunk.slice(split);
this.unshift(b);
+ // calling unshift by itself does not reset the reading state
+ // of the stream; since we're inside _read, doing an additional
+ // push('') will reset the state appropriately.
+ this.push('');
// and let them know that we are done parsing the header.
this.emit('header', this.header);
@@ -922,24 +972,22 @@ initialized.
* `size` {Number} Number of bytes to read asynchronously
-Note: **Implement this function, but do NOT call it directly.**
+Note: **Implement this method, but do NOT call it directly.**
-This function should NOT be called directly. It should be implemented
-by child classes, and only called by the internal Readable class
-methods.
+This method is prefixed with an underscore because it is internal to the
+class that defines it and should only be called by the internal Readable
+class methods. All Readable stream implementations must provide a _read
+method to fetch data from the underlying resource.
-All Readable stream implementations must provide a `_read` method to
-fetch data from the underlying resource.
+When _read is called, if data is available from the resource, `_read` should
+start pushing that data into the read queue by calling `this.push(dataChunk)`.
+`_read` should continue reading from the resource and pushing data until push
+returns false, at which point it should stop reading from the resource. Only
+when _read is called again after it has stopped should it start reading
+more data from the resource and pushing that data onto the queue.
-This method is prefixed with an underscore because it is internal to
-the class that defines it, and should not be called directly by user
-programs. However, you **are** expected to override this method in
-your own extension classes.
-
-When data is available, put it into the read queue by calling
-`readable.push(chunk)`. If `push` returns false, then you should stop
-reading. When `_read` is called again, you should start pushing more
-data.
+Note: once the `_read()` method is called, it will not be called again until
+the `push` method is called.
The `size` argument is advisory. Implementations where a "read" is a
single call that returns data can use this to know how much data to
@@ -955,19 +1003,16 @@ becomes available. There is no need, for example to "wait" until
Buffer encoding, such as `'utf8'` or `'ascii'`
* return {Boolean} Whether or not more pushes should be performed
-Note: **This function should be called by Readable implementors, NOT
+Note: **This method should be called by Readable implementors, NOT
by consumers of Readable streams.**
-The `_read()` function will not be called again until at least one
-`push(chunk)` call is made.
-
-The `Readable` class works by putting data into a read queue to be
-pulled out later by calling the `read()` method when the `'readable'`
-event fires.
+If a value other than null is passed, The `push()` method adds a chunk of data
+into the queue for subsequent stream processors to consume. If `null` is
+passed, it signals the end of the stream (EOF), after which no more data
+can be written.
-The `push()` method will explicitly insert some data into the read
-queue. If it is called with `null` then it will signal the end of the
-data (EOF).
+The data added with `push` can be pulled out by calling the `read()` method
+when the `'readable'`event fires.
This API is designed to be as flexible as possible. For example,
you may be wrapping a lower-level source which has some sort of
@@ -1173,19 +1218,19 @@ as a result of this chunk.
Call the callback function only when the current chunk is completely
consumed. Note that there may or may not be output as a result of any
-particular input chunk. If you supply output as the second argument to the
-callback, it will be passed to push method, in other words the following are
+particular input chunk. If you supply a second argument to the callback
+it will be passed to the push method. In other words the following are
equivalent:
```javascript
transform.prototype._transform = function (data, encoding, callback) {
this.push(data);
callback();
-}
+};
transform.prototype._transform = function (data, encoding, callback) {
callback(null, data);
-}
+};
```
This method is prefixed with an underscore because it is internal to
@@ -1235,7 +1280,7 @@ simply by using the higher level [Transform][] stream class, similar to
the `parseHeader` and `SimpleProtocol v1` examples above.
In this example, rather than providing the input as an argument, it
-would be piped into the parser, which is a more idiomatic io.js stream
+would be piped into the parser, which is a more idiomatic Node.js stream
approach.
```javascript
@@ -1315,7 +1360,7 @@ for examples and testing, but there are occasionally use cases where
it can come in handy as a building block for novel sorts of streams.
-## Simplified Constructor API
+## Simplified Constructor API
<!--type=misc-->
@@ -1395,8 +1440,8 @@ var transform = new stream.Transform({
<!--type=misc-->
Both Writable and Readable streams will buffer data on an internal
-object called `_writableState.buffer` or `_readableState.buffer`,
-respectively.
+object which can be retrieved from `_writableState.getBuffer()` or
+`_readableState.buffer`, respectively.
The amount of data that will potentially be buffered depends on the
`highWaterMark` option which is passed into the constructor.
@@ -1424,8 +1469,8 @@ If the internal read buffer is below the `highWaterMark`, and the
stream is not currently reading, then calling `read(0)` will trigger
a low-level `_read` call.
-There is almost never a need to do this. However, you will see some
-cases in io.js's internals where this is done, particularly in the
+There is almost never a need to do this. However, you will see some
+cases in Node.js's internals where this is done, particularly in the
Readable stream class internals.
### `stream.push('')`
@@ -1442,7 +1487,7 @@ code) will know when to check again, by calling `stream.read(0)`. In
those cases, you *may* call `stream.push('')`.
So far, the only use case for this functionality is in the
-[tls.CryptoStream][] class, which is deprecated in io.js v1.0. If you
+[tls.CryptoStream][] class, which is deprecated in Node.js/io.js v1.0. If you
find that you have to use `stream.push('')`, please consider another
approach, because it almost certainly indicates that something is
horribly wrong.
@@ -1462,7 +1507,7 @@ simpler, but also less powerful and less useful.
meant that you still had to be prepared to receive `'data'` events
even when the stream was in a paused state.
-In io.js v1.0 and Node.js v0.10, the Readable class described below was added.
+In Node.js v0.10, the Readable class described below was added.
For backwards compatibility with older Node.js programs, Readable streams
switch into "flowing mode" when a `'data'` event handler is added, or
when the [`resume()`][] method is called. The effect is that, even if
@@ -1492,7 +1537,7 @@ net.createServer(function(socket) {
```
In versions of Node.js prior to v0.10, the incoming message data would be
-simply discarded. However, in io.js v1.0 and Node.js v0.10 and beyond,
+simply discarded. However, in Node.js v0.10 and beyond,
the socket will remain paused forever.
The workaround in this situation is to call the `resume()` method to
@@ -1539,7 +1584,7 @@ return value from `stream.read()` indicates that there is no more
data, and [`stream.push(null)`][] will signal the end of stream data
(`EOF`).
-No streams in io.js core are object mode streams. This pattern is only
+No streams in Node.js core are object mode streams. This pattern is only
used by userland streaming libraries.
You should set `objectMode` in your stream child class constructor on
@@ -1605,24 +1650,24 @@ JSONParseStream.prototype._flush = function(cb) {
```
-[EventEmitter]: https://iojs.org/dist/v2.3.0/doc/api/events.html#events_class_events_eventemitter
+[EventEmitter]: https://iojs.org/dist/v5.0.0/doc/api/events.html#events_class_events_eventemitter
[Object mode]: #stream_object_mode
[`stream.push(chunk)`]: #stream_readable_push_chunk_encoding
[`stream.push(null)`]: #stream_readable_push_chunk_encoding
[`stream.push()`]: #stream_readable_push_chunk_encoding
[`unpipe()`]: #stream_readable_unpipe_destination
[unpiped]: #stream_readable_unpipe_destination
-[tcp sockets]: https://iojs.org/dist/v2.3.0/doc/api/net.html#net_class_net_socket
+[tcp sockets]: https://iojs.org/dist/v5.0.0/doc/api/net.html#net_class_net_socket
[zlib streams]: zlib.html
[zlib]: zlib.html
[crypto streams]: crypto.html
[crypto]: crypto.html
-[tls.CryptoStream]: https://iojs.org/dist/v2.3.0/doc/api/tls.html#tls_class_cryptostream
-[process.stdin]: https://iojs.org/dist/v2.3.0/doc/api/process.html#process_process_stdin
-[stdout]: https://iojs.org/dist/v2.3.0/doc/api/process.html#process_process_stdout
-[process.stdout]: https://iojs.org/dist/v2.3.0/doc/api/process.html#process_process_stdout
-[process.stderr]: https://iojs.org/dist/v2.3.0/doc/api/process.html#process_process_stderr
-[child process stdout and stderr]: https://iojs.org/dist/v2.3.0/doc/api/child_process.html#child_process_child_stdout
+[tls.CryptoStream]: https://iojs.org/dist/v5.0.0/doc/api/tls.html#tls_class_cryptostream
+[process.stdin]: https://iojs.org/dist/v5.0.0/doc/api/process.html#process_process_stdin
+[stdout]: https://iojs.org/dist/v5.0.0/doc/api/process.html#process_process_stdout
+[process.stdout]: https://iojs.org/dist/v5.0.0/doc/api/process.html#process_process_stdout
+[process.stderr]: https://iojs.org/dist/v5.0.0/doc/api/process.html#process_process_stderr
+[child process stdout and stderr]: https://iojs.org/dist/v5.0.0/doc/api/child_process.html#child_process_child_stdout
[API for Stream Consumers]: #stream_api_for_stream_consumers
[API for Stream Implementors]: #stream_api_for_stream_implementors
[Readable]: #stream_class_stream_readable
@@ -1641,7 +1686,7 @@ JSONParseStream.prototype._flush = function(cb) {
[`_write(chunk, encoding, callback)`]: #stream_writable_write_chunk_encoding_callback_1
[`_write()`]: #stream_writable_write_chunk_encoding_callback_1
[_write]: #stream_writable_write_chunk_encoding_callback_1
-[`util.inherits`]: https://iojs.org/dist/v2.3.0/doc/api/util.html#util_util_inherits_constructor_superconstructor
+[`util.inherits`]: https://iojs.org/dist/v5.0.0/doc/api/util.html#util_util_inherits_constructor_superconstructor
[`end()`]: #stream_writable_end_chunk_encoding_callback
[`'data'` event]: #stream_event_data
[`resume()`]: #stream_readable_resume
diff --git a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_readable.js b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_readable.js
index eef3d825d..90068ea24 100644
--- a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_readable.js
+++ b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_readable.js
@@ -18,10 +18,10 @@ var Buffer = require('buffer').Buffer;
Readable.ReadableState = ReadableState;
-var EE = require('events').EventEmitter;
+var EE = require('events');
/*<replacement>*/
-if (!EE.listenerCount) EE.listenerCount = function(emitter, type) {
+var EElistenerCount = function(emitter, type) {
return emitter.listeners(type).length;
};
/*</replacement>*/
@@ -48,9 +48,10 @@ util.inherits = require('inherits');
/*<replacement>*/
-var debug = require('util');
-if (debug && debug.debuglog) {
- debug = debug.debuglog('stream');
+var debugUtil = require('util');
+var debug;
+if (debugUtil && debugUtil.debuglog) {
+ debug = debugUtil.debuglog('stream');
} else {
debug = function () {};
}
@@ -219,7 +220,6 @@ function readableAddChunk(stream, state, chunk, encoding, addToFront) {
}
-
// if it's past the high water mark, we can push in some more.
// Also, if we have no data yet, we can stand some
// more bytes. This is to work around cases where hwm=0,
@@ -243,15 +243,19 @@ Readable.prototype.setEncoding = function(enc) {
return this;
};
-// Don't raise the hwm > 128MB
+// Don't raise the hwm > 8MB
var MAX_HWM = 0x800000;
-function roundUpToNextPowerOf2(n) {
+function computeNewHighWaterMark(n) {
if (n >= MAX_HWM) {
n = MAX_HWM;
} else {
// Get the next highest power of 2
n--;
- for (var p = 1; p < 32; p <<= 1) n |= n >> p;
+ n |= n >>> 1;
+ n |= n >>> 2;
+ n |= n >>> 4;
+ n |= n >>> 8;
+ n |= n >>> 16;
n++;
}
return n;
@@ -280,7 +284,7 @@ function howMuchToRead(n, state) {
// power of 2, to prevent increasing it excessively in tiny
// amounts.
if (n > state.highWaterMark)
- state.highWaterMark = roundUpToNextPowerOf2(n);
+ state.highWaterMark = computeNewHighWaterMark(n);
// don't have that much. return null, unless we've ended.
if (n > state.length) {
@@ -546,6 +550,7 @@ Readable.prototype.pipe = function(dest, pipeOpts) {
var ondrain = pipeOnDrain(src);
dest.on('drain', ondrain);
+ var cleanedUp = false;
function cleanup() {
debug('cleanup');
// cleanup event handlers once the pipe is broken
@@ -558,6 +563,8 @@ Readable.prototype.pipe = function(dest, pipeOpts) {
src.removeListener('end', cleanup);
src.removeListener('data', ondata);
+ cleanedUp = true;
+
// if the reader is waiting for a drain event from this
// specific writer, then it would cause it to never start
// flowing again.
@@ -573,9 +580,16 @@ Readable.prototype.pipe = function(dest, pipeOpts) {
debug('ondata');
var ret = dest.write(chunk);
if (false === ret) {
- debug('false write response, pause',
- src._readableState.awaitDrain);
- src._readableState.awaitDrain++;
+ // If the user unpiped during `dest.write()`, it is possible
+ // to get stuck in a permanently paused state if that write
+ // also returned false.
+ if (state.pipesCount === 1 &&
+ state.pipes[0] === dest &&
+ src.listenerCount('data') === 1 &&
+ !cleanedUp) {
+ debug('false write response, pause', src._readableState.awaitDrain);
+ src._readableState.awaitDrain++;
+ }
src.pause();
}
}
@@ -586,7 +600,7 @@ Readable.prototype.pipe = function(dest, pipeOpts) {
debug('onerror', er);
unpipe();
dest.removeListener('error', onerror);
- if (EE.listenerCount(dest, 'error') === 0)
+ if (EElistenerCount(dest, 'error') === 0)
dest.emit('error', er);
}
// This is a brutally ugly hack to make sure that our error handler
@@ -599,7 +613,6 @@ Readable.prototype.pipe = function(dest, pipeOpts) {
dest._events.error = [onerror, dest._events.error];
-
// Both close and finish should trigger unpipe, but only once.
function onclose() {
dest.removeListener('finish', onfinish);
@@ -636,7 +649,7 @@ function pipeOnDrain(src) {
debug('pipeOnDrain', state.awaitDrain);
if (state.awaitDrain)
state.awaitDrain--;
- if (state.awaitDrain === 0 && EE.listenerCount(src, 'data')) {
+ if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {
state.flowing = true;
flow(src);
}
@@ -852,7 +865,6 @@ Readable.prototype.wrap = function(stream) {
};
-
// exposed for testing purposes only.
Readable._fromList = fromList;
@@ -877,6 +889,8 @@ function fromList(n, state) {
// read it all, truncate the array.
if (stringMode)
ret = list.join('');
+ else if (list.length === 1)
+ ret = list[0];
else
ret = Buffer.concat(list, length);
list.length = 0;
diff --git a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js
index b23295201..23a2ba295 100644
--- a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js
+++ b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js
@@ -1,5 +1,5 @@
// A bit simpler than readable streams.
-// Implement an async ._write(chunk, cb), and it'll handle all
+// Implement an async ._write(chunk, encoding, cb), and it'll handle all
// the drain event emission and buffering.
'use strict';
@@ -24,6 +24,13 @@ util.inherits = require('inherits');
/*</replacement>*/
+/*<replacement>*/
+var internalUtil = {
+ deprecate: require('util-deprecate')
+};
+/*</replacement>*/
+
+
/*<replacement>*/
var Stream;
@@ -149,10 +156,10 @@ WritableState.prototype.getBuffer = function writableStateGetBuffer() {
(function (){try {
Object.defineProperty(WritableState.prototype, 'buffer', {
- get: require('util-deprecate')(function() {
+ get: internalUtil.deprecate(function() {
return this.getBuffer();
- }, '_writableState.buffer is deprecated. Use ' +
- '_writableState.getBuffer() instead.')
+ }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' +
+ 'instead.')
});
}catch(_){}}());
diff --git a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/LICENSE b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/LICENSE
new file mode 100644
index 000000000..d8d7f9437
--- /dev/null
+++ b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/LICENSE
@@ -0,0 +1,19 @@
+Copyright Node.js 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/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/lib/util.js b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/lib/util.js
index 9074e8ebc..ff4c851c0 100644
--- a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/lib/util.js
+++ b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/lib/util.js
@@ -21,8 +21,12 @@
// NOTE: These type checking functions intentionally don't use `instanceof`
// because it is fragile and can be easily faked with `Object.create()`.
-function isArray(ar) {
- return Array.isArray(ar);
+
+function isArray(arg) {
+ if (Array.isArray) {
+ return Array.isArray(arg);
+ }
+ return objectToString(arg) === '[object Array]';
}
exports.isArray = isArray;
@@ -62,7 +66,7 @@ function isUndefined(arg) {
exports.isUndefined = isUndefined;
function isRegExp(re) {
- return isObject(re) && objectToString(re) === '[object RegExp]';
+ return objectToString(re) === '[object RegExp]';
}
exports.isRegExp = isRegExp;
@@ -72,13 +76,12 @@ function isObject(arg) {
exports.isObject = isObject;
function isDate(d) {
- return isObject(d) && objectToString(d) === '[object Date]';
+ return objectToString(d) === '[object Date]';
}
exports.isDate = isDate;
function isError(e) {
- return isObject(e) &&
- (objectToString(e) === '[object Error]' || e instanceof Error);
+ return (objectToString(e) === '[object Error]' || e instanceof Error);
}
exports.isError = isError;
@@ -97,11 +100,8 @@ function isPrimitive(arg) {
}
exports.isPrimitive = isPrimitive;
-function isBuffer(arg) {
- return Buffer.isBuffer(arg);
-}
-exports.isBuffer = isBuffer;
+exports.isBuffer = Buffer.isBuffer;
function objectToString(o) {
return Object.prototype.toString.call(o);
-} \ No newline at end of file
+}
diff --git a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/package.json b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/package.json
index b67333380..8e051de50 100644
--- a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/package.json
+++ b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/package.json
@@ -1,37 +1,86 @@
{
- "name": "core-util-is",
- "version": "1.0.1",
- "description": "The `util.is*` functions introduced in Node v0.12.",
- "main": "lib/util.js",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/core-util-is.git"
+ "_args": [
+ [
+ "core-util-is@~1.0.0",
+ "/Users/rebecca/code/npm2/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream"
+ ]
+ ],
+ "_from": "core-util-is@>=1.0.0 <1.1.0",
+ "_id": "core-util-is@1.0.2",
+ "_inCache": true,
+ "_installable": true,
+ "_location": "/npm-registry-client/concat-stream/readable-stream/core-util-is",
+ "_nodeVersion": "4.0.0",
+ "_npmUser": {
+ "email": "i@izs.me",
+ "name": "isaacs"
},
- "keywords": [
- "util",
- "isBuffer",
- "isArray",
- "isNumber",
- "isString",
- "isRegExp",
- "isThis",
- "isThat",
- "polyfill"
+ "_npmVersion": "3.3.2",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "core-util-is",
+ "raw": "core-util-is@~1.0.0",
+ "rawSpec": "~1.0.0",
+ "scope": null,
+ "spec": ">=1.0.0 <1.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/npm-registry-client/concat-stream/readable-stream"
],
+ "_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "_shasum": "b5fd54220aa2bc5ab57aab7140c940754503c1a7",
+ "_shrinkwrap": null,
+ "_spec": "core-util-is@~1.0.0",
+ "_where": "/Users/rebecca/code/npm2/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream",
"author": {
- "name": "Isaac Z. Schlueter",
"email": "i@izs.me",
+ "name": "Isaac Z. Schlueter",
"url": "http://blog.izs.me/"
},
- "license": "MIT",
"bugs": {
"url": "https://github.com/isaacs/core-util-is/issues"
},
- "readme": "# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.\n",
- "readmeFilename": "README.md",
+ "dependencies": {},
+ "description": "The `util.is*` functions introduced in Node v0.12.",
+ "devDependencies": {
+ "tap": "^2.3.0"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "b5fd54220aa2bc5ab57aab7140c940754503c1a7",
+ "tarball": "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
+ },
+ "gitHead": "a177da234df5638b363ddc15fa324619a38577c8",
"homepage": "https://github.com/isaacs/core-util-is#readme",
- "_id": "core-util-is@1.0.1",
- "_shasum": "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538",
- "_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz",
- "_from": "core-util-is@>=1.0.0 <1.1.0"
+ "keywords": [
+ "isArray",
+ "isBuffer",
+ "isNumber",
+ "isRegExp",
+ "isString",
+ "isThat",
+ "isThis",
+ "polyfill",
+ "util"
+ ],
+ "license": "MIT",
+ "main": "lib/util.js",
+ "maintainers": [
+ {
+ "name": "isaacs",
+ "email": "i@izs.me"
+ }
+ ],
+ "name": "core-util-is",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/core-util-is.git"
+ },
+ "scripts": {
+ "test": "tap test.js"
+ },
+ "version": "1.0.2"
}
diff --git a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/test.js b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/test.js
new file mode 100644
index 000000000..1a490c65a
--- /dev/null
+++ b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/test.js
@@ -0,0 +1,68 @@
+var assert = require('tap');
+
+var t = require('./lib/util');
+
+assert.equal(t.isArray([]), true);
+assert.equal(t.isArray({}), false);
+
+assert.equal(t.isBoolean(null), false);
+assert.equal(t.isBoolean(true), true);
+assert.equal(t.isBoolean(false), true);
+
+assert.equal(t.isNull(null), true);
+assert.equal(t.isNull(undefined), false);
+assert.equal(t.isNull(false), false);
+assert.equal(t.isNull(), false);
+
+assert.equal(t.isNullOrUndefined(null), true);
+assert.equal(t.isNullOrUndefined(undefined), true);
+assert.equal(t.isNullOrUndefined(false), false);
+assert.equal(t.isNullOrUndefined(), true);
+
+assert.equal(t.isNumber(null), false);
+assert.equal(t.isNumber('1'), false);
+assert.equal(t.isNumber(1), true);
+
+assert.equal(t.isString(null), false);
+assert.equal(t.isString('1'), true);
+assert.equal(t.isString(1), false);
+
+assert.equal(t.isSymbol(null), false);
+assert.equal(t.isSymbol('1'), false);
+assert.equal(t.isSymbol(1), false);
+assert.equal(t.isSymbol(Symbol()), true);
+
+assert.equal(t.isUndefined(null), false);
+assert.equal(t.isUndefined(undefined), true);
+assert.equal(t.isUndefined(false), false);
+assert.equal(t.isUndefined(), true);
+
+assert.equal(t.isRegExp(null), false);
+assert.equal(t.isRegExp('1'), false);
+assert.equal(t.isRegExp(new RegExp()), true);
+
+assert.equal(t.isObject({}), true);
+assert.equal(t.isObject([]), true);
+assert.equal(t.isObject(new RegExp()), true);
+assert.equal(t.isObject(new Date()), true);
+
+assert.equal(t.isDate(null), false);
+assert.equal(t.isDate('1'), false);
+assert.equal(t.isDate(new Date()), true);
+
+assert.equal(t.isError(null), false);
+assert.equal(t.isError({ err: true }), false);
+assert.equal(t.isError(new Error()), true);
+
+assert.equal(t.isFunction(null), false);
+assert.equal(t.isFunction({ }), false);
+assert.equal(t.isFunction(function() {}), true);
+
+assert.equal(t.isPrimitive(null), true);
+assert.equal(t.isPrimitive(''), true);
+assert.equal(t.isPrimitive(0), true);
+assert.equal(t.isPrimitive(new Date()), false);
+
+assert.equal(t.isBuffer(null), false);
+assert.equal(t.isBuffer({}), false);
+assert.equal(t.isBuffer(new Buffer(0)), true);
diff --git a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/util.js b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/util.js
deleted file mode 100644
index 007fa1057..000000000
--- a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/core-util-is/util.js
+++ /dev/null
@@ -1,106 +0,0 @@
-// Copyright Joyent, Inc. and other Node contributors.
-//
-// 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.
-
-// NOTE: These type checking functions intentionally don't use `instanceof`
-// because it is fragile and can be easily faked with `Object.create()`.
-function isArray(ar) {
- return Array.isArray(ar);
-}
-exports.isArray = isArray;
-
-function isBoolean(arg) {
- return typeof arg === 'boolean';
-}
-exports.isBoolean = isBoolean;
-
-function isNull(arg) {
- return arg === null;
-}
-exports.isNull = isNull;
-
-function isNullOrUndefined(arg) {
- return arg == null;
-}
-exports.isNullOrUndefined = isNullOrUndefined;
-
-function isNumber(arg) {
- return typeof arg === 'number';
-}
-exports.isNumber = isNumber;
-
-function isString(arg) {
- return typeof arg === 'string';
-}
-exports.isString = isString;
-
-function isSymbol(arg) {
- return typeof arg === 'symbol';
-}
-exports.isSymbol = isSymbol;
-
-function isUndefined(arg) {
- return arg === void 0;
-}
-exports.isUndefined = isUndefined;
-
-function isRegExp(re) {
- return isObject(re) && objectToString(re) === '[object RegExp]';
-}
-exports.isRegExp = isRegExp;
-
-function isObject(arg) {
- return typeof arg === 'object' && arg !== null;
-}
-exports.isObject = isObject;
-
-function isDate(d) {
- return isObject(d) && objectToString(d) === '[object Date]';
-}
-exports.isDate = isDate;
-
-function isError(e) {
- return isObject(e) && objectToString(e) === '[object Error]';
-}
-exports.isError = isError;
-
-function isFunction(arg) {
- return typeof arg === 'function';
-}
-exports.isFunction = isFunction;
-
-function isPrimitive(arg) {
- return arg === null ||
- typeof arg === 'boolean' ||
- typeof arg === 'number' ||
- typeof arg === 'string' ||
- typeof arg === 'symbol' || // ES6 symbol
- typeof arg === 'undefined';
-}
-exports.isPrimitive = isPrimitive;
-
-function isBuffer(arg) {
- return arg instanceof Buffer;
-}
-exports.isBuffer = isBuffer;
-
-function objectToString(o) {
- return Object.prototype.toString.call(o);
-}
diff --git a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/package.json b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/package.json
index fb1eb3786..6de35f1e8 100644
--- a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/package.json
+++ b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/isarray/package.json
@@ -1,38 +1,78 @@
{
- "name": "isarray",
- "description": "Array#isArray for older browsers",
- "version": "0.0.1",
- "repository": {
- "type": "git",
- "url": "git://github.com/juliangruber/isarray.git"
+ "_args": [
+ [
+ "isarray@0.0.1",
+ "/Users/rebecca/code/npm2/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream"
+ ]
+ ],
+ "_from": "isarray@0.0.1",
+ "_id": "isarray@0.0.1",
+ "_inCache": true,
+ "_installable": true,
+ "_location": "/npm-registry-client/concat-stream/readable-stream/isarray",
+ "_npmUser": {
+ "email": "julian@juliangruber.com",
+ "name": "juliangruber"
},
- "homepage": "https://github.com/juliangruber/isarray",
- "main": "index.js",
- "scripts": {
- "test": "tap test/*.js"
+ "_npmVersion": "1.2.18",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "isarray",
+ "raw": "isarray@0.0.1",
+ "rawSpec": "0.0.1",
+ "scope": null,
+ "spec": "0.0.1",
+ "type": "version"
+ },
+ "_requiredBy": [
+ "/npm-registry-client/concat-stream/readable-stream"
+ ],
+ "_resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "_shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf",
+ "_shrinkwrap": null,
+ "_spec": "isarray@0.0.1",
+ "_where": "/Users/rebecca/code/npm2/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream",
+ "author": {
+ "email": "mail@juliangruber.com",
+ "name": "Julian Gruber",
+ "url": "http://juliangruber.com"
+ },
+ "bugs": {
+ "url": "https://github.com/juliangruber/isarray/issues"
},
"dependencies": {},
+ "description": "Array#isArray for older browsers",
"devDependencies": {
"tap": "*"
},
+ "directories": {},
+ "dist": {
+ "shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf",
+ "tarball": "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
+ },
+ "homepage": "https://github.com/juliangruber/isarray",
"keywords": [
+ "array",
"browser",
- "isarray",
- "array"
+ "isarray"
],
- "author": {
- "name": "Julian Gruber",
- "email": "mail@juliangruber.com",
- "url": "http://juliangruber.com"
- },
"license": "MIT",
- "readme": "\n# isarray\n\n`Array#isArray` for older browsers.\n\n## Usage\n\n```js\nvar isArray = require('isarray');\n\nconsole.log(isArray([])); // => true\nconsole.log(isArray({})); // => false\n```\n\n## Installation\n\nWith [npm](http://npmjs.org) do\n\n```bash\n$ npm install isarray\n```\n\nThen bundle for the browser with\n[browserify](https://github.com/substack/browserify).\n\nWith [component](http://component.io) do\n\n```bash\n$ component install juliangruber/isarray\n```\n\n## License\n\n(MIT)\n\nCopyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n",
- "readmeFilename": "README.md",
- "bugs": {
- "url": "https://github.com/juliangruber/isarray/issues"
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "juliangruber",
+ "email": "julian@juliangruber.com"
+ }
+ ],
+ "name": "isarray",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/juliangruber/isarray.git"
},
- "_id": "isarray@0.0.1",
- "_shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf",
- "_resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "_from": "isarray@0.0.1"
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "0.0.1"
}
diff --git a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/package.json b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/package.json
index bfaa2785f..087586e8f 100644
--- a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/package.json
+++ b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/process-nextick-args/package.json
@@ -19,10 +19,27 @@
"devDependencies": {
"tap": "~0.2.6"
},
- "readme": "process-nextick-args\n=====\n\n[![Build Status](https://travis-ci.org/calvinmetcalf/process-nextick-args.svg?branch=master)](https://travis-ci.org/calvinmetcalf/process-nextick-args)\n\n```bash\nnpm install --save process-nextick-args\n```\n\nAlways be able to pass arguments to process.nextTick, no matter the platform\n\n```js\nvar nextTick = require('process-nextick-args');\n\nnextTick(function (a, b, c) {\n console.log(a, b, c);\n}, 'step', 3, 'profit');\n```\n",
- "readmeFilename": "readme.md",
+ "gitHead": "e855846a69662b9489f1ad3dde1ebf2ccc4370b8",
"_id": "process-nextick-args@1.0.3",
"_shasum": "e272eed825d5e9f4ea74d8d73b1fe311c3beb630",
+ "_from": "process-nextick-args@>=1.0.0 <1.1.0",
+ "_npmVersion": "2.9.0",
+ "_nodeVersion": "2.5.0",
+ "_npmUser": {
+ "name": "cwmma",
+ "email": "calvin.metcalf@gmail.com"
+ },
+ "dist": {
+ "shasum": "e272eed825d5e9f4ea74d8d73b1fe311c3beb630",
+ "tarball": "http://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.3.tgz"
+ },
+ "maintainers": [
+ {
+ "name": "cwmma",
+ "email": "calvin.metcalf@gmail.com"
+ }
+ ],
+ "directories": {},
"_resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.3.tgz",
- "_from": "process-nextick-args@>=1.0.0 <1.1.0"
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/package.json b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/package.json
index ee7070235..c09965a4b 100644
--- a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/package.json
+++ b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/package.json
@@ -1,34 +1,79 @@
{
- "name": "string_decoder",
- "version": "0.10.31",
- "description": "The string_decoder module from Node core",
- "main": "index.js",
+ "_args": [
+ [
+ "string_decoder@~0.10.x",
+ "/Users/rebecca/code/npm2/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream"
+ ]
+ ],
+ "_from": "string_decoder@>=0.10.0 <0.11.0",
+ "_id": "string_decoder@0.10.31",
+ "_inCache": true,
+ "_installable": true,
+ "_location": "/npm-registry-client/concat-stream/readable-stream/string_decoder",
+ "_npmUser": {
+ "email": "rod@vagg.org",
+ "name": "rvagg"
+ },
+ "_npmVersion": "1.4.23",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "string_decoder",
+ "raw": "string_decoder@~0.10.x",
+ "rawSpec": "~0.10.x",
+ "scope": null,
+ "spec": ">=0.10.0 <0.11.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/npm-registry-client/concat-stream/readable-stream"
+ ],
+ "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "_shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94",
+ "_shrinkwrap": null,
+ "_spec": "string_decoder@~0.10.x",
+ "_where": "/Users/rebecca/code/npm2/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream",
+ "bugs": {
+ "url": "https://github.com/rvagg/string_decoder/issues"
+ },
"dependencies": {},
+ "description": "The string_decoder module from Node core",
"devDependencies": {
"tap": "~0.4.8"
},
- "scripts": {
- "test": "tap test/simple/*.js"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/rvagg/string_decoder.git"
+ "directories": {},
+ "dist": {
+ "shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94",
+ "tarball": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
},
+ "gitHead": "d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0",
"homepage": "https://github.com/rvagg/string_decoder",
"keywords": [
- "string",
- "decoder",
"browser",
- "browserify"
+ "browserify",
+ "decoder",
+ "string"
],
"license": "MIT",
- "readme": "**string_decoder.js** (`require('string_decoder')`) from Node.js core\n\nCopyright Joyent, Inc. and other Node contributors. See LICENCE file for details.\n\nVersion numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.**\n\nThe *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version.",
- "readmeFilename": "README.md",
- "bugs": {
- "url": "https://github.com/rvagg/string_decoder/issues"
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "substack",
+ "email": "mail@substack.net"
+ },
+ {
+ "name": "rvagg",
+ "email": "rod@vagg.org"
+ }
+ ],
+ "name": "string_decoder",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/rvagg/string_decoder.git"
},
- "_id": "string_decoder@0.10.31",
- "_shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94",
- "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "_from": "string_decoder@>=0.10.0 <0.11.0"
+ "scripts": {
+ "test": "tap test/simple/*.js"
+ },
+ "version": "0.10.31"
}
diff --git a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/package.json b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/package.json
index 0d67d9bbb..248dbac49 100644
--- a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/package.json
+++ b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/package.json
@@ -1,6 +1,6 @@
{
"name": "readable-stream",
- "version": "2.0.2",
+ "version": "2.0.4",
"description": "Streams3, a user-land copy of the stream library from iojs v2.x",
"main": "readable.js",
"dependencies": {
@@ -18,7 +18,8 @@
},
"scripts": {
"test": "tap test/parallel/*.js",
- "browser": "zuul --browser-name $BROWSER_NAME --browser-version $BROWSER_VERSION -- test/browser.js"
+ "browser": "npm run write-zuul && zuul -- test/browser.js",
+ "write-zuul": "printf \"ui: tape\nbrowsers:\n - name: $BROWSER_NAME\n version: $BROWSER_VERSION\n\">.zuul.yml"
},
"repository": {
"type": "git",
@@ -33,14 +34,43 @@
"util": false
},
"license": "MIT",
- "readme": "# readable-stream\n\n***Node-core streams for userland*** [![Build Status](https://travis-ci.org/nodejs/readable-stream.svg?branch=master)](https://travis-ci.org/nodejs/readable-stream)\n\n\n[![NPM](https://nodei.co/npm/readable-stream.png?downloads=true&downloadRank=true)](https://nodei.co/npm/readable-stream/)\n[![NPM](https://nodei.co/npm-dl/readable-stream.png?&months=6&height=3)](https://nodei.co/npm/readable-stream/)\n\n\n[![Sauce Test Status](https://saucelabs.com/browser-matrix/readable-stream.svg)](https://saucelabs.com/u/readable-stream)\n\n```bash\nnpm install --save readable-stream\n```\n\n***Node-core streams for userland***\n\nThis package is a mirror of the Streams2 and Streams3 implementations in\nNode-core, including [documentation](doc/stream.markdown).\n\nIf you want to guarantee a stable streams base, regardless of what version of\nNode you, or the users of your libraries are using, use **readable-stream** *only* and avoid the *\"stream\"* module in Node-core, for background see [this blogpost](http://r.va.gg/2014/06/why-i-dont-use-nodes-core-stream-module.html).\n\nAs of version 2.0.0 **readable-stream** uses semantic versioning. \n\n# Streams WG Team Members\n\n* **Chris Dickinson** ([@chrisdickinson](https://github.com/chrisdickinson)) &lt;christopher.s.dickinson@gmail.com&gt;\n - Release GPG key: 9554F04D7259F04124DE6B476D5A82AC7E37093B\n* **Calvin Metcalf** ([@calvinmetcalf](https://github.com/calvinmetcalf)) &lt;calvin.metcalf@gmail.com&gt;\n - Release GPG key: F3EF5F62A87FC27A22E643F714CE4FF5015AA242\n* **Rod Vagg** ([@rvagg](https://github.com/rvagg)) &lt;rod@vagg.org&gt;\n - Release GPG key: DD8F2338BAE7501E3DD5AC78C273792F7D83545D\n* **Sam Newman** ([@sonewman](https://github.com/sonewman)) &lt;newmansam@outlook.com&gt;\n* **Mathias Buus** ([@mafintosh](https://github.com/mafintosh)) &lt;mathiasbuus@gmail.com&gt;\n* **Domenic Denicola** ([@domenic](https://github.com/domenic)) &lt;d@domenic.me&gt;\n",
- "readmeFilename": "README.md",
+ "gitHead": "f2a4f4a659bacbe742a494b7d2aede64fab0d4f9",
"bugs": {
"url": "https://github.com/nodejs/readable-stream/issues"
},
"homepage": "https://github.com/nodejs/readable-stream#readme",
- "_id": "readable-stream@2.0.2",
- "_shasum": "bec81beae8cf455168bc2e5b2b31f5bcfaed9b1b",
- "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz",
- "_from": "readable-stream@>=2.0.0 <2.1.0"
+ "_id": "readable-stream@2.0.4",
+ "_shasum": "2523ef27ffa339d7ba9da8603f2d0599d06edbd8",
+ "_from": "readable-stream@>=2.0.0 <2.1.0",
+ "_npmVersion": "2.14.4",
+ "_nodeVersion": "4.1.1",
+ "_npmUser": {
+ "name": "cwmma",
+ "email": "calvin.metcalf@gmail.com"
+ },
+ "dist": {
+ "shasum": "2523ef27ffa339d7ba9da8603f2d0599d06edbd8",
+ "tarball": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.4.tgz"
+ },
+ "maintainers": [
+ {
+ "name": "isaacs",
+ "email": "isaacs@npmjs.com"
+ },
+ {
+ "name": "tootallnate",
+ "email": "nathan@tootallnate.net"
+ },
+ {
+ "name": "rvagg",
+ "email": "rod@vagg.org"
+ },
+ {
+ "name": "cwmma",
+ "email": "calvin.metcalf@gmail.com"
+ }
+ ],
+ "directories": {},
+ "_resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.4.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/package.json b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/package.json
index f946a953a..b8b59f5c3 100644
--- a/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/package.json
+++ b/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/typedarray/package.json
@@ -52,13 +52,28 @@
"android-browser/4.2..latest"
]
},
- "readme": "# typedarray\n\nTypedArray polyfill ripped from [this\nmodule](https://raw.github.com/inexorabletash/polyfill).\n\n[![build status](https://secure.travis-ci.org/substack/typedarray.png)](http://travis-ci.org/substack/typedarray)\n\n[![testling badge](https://ci.testling.com/substack/typedarray.png)](https://ci.testling.com/substack/typedarray)\n\n# example\n\n``` js\nvar Uint8Array = require('typedarray').Uint8Array;\nvar ua = new Uint8Array(5);\nua[1] = 256 + 55;\nconsole.log(ua[1]);\n```\n\noutput:\n\n```\n55\n```\n\n# methods\n\n``` js\nvar TA = require('typedarray')\n```\n\nThe `TA` object has the following constructors:\n\n* TA.ArrayBuffer\n* TA.DataView\n* TA.Float32Array\n* TA.Float64Array\n* TA.Int8Array\n* TA.Int16Array\n* TA.Int32Array\n* TA.Uint8Array\n* TA.Uint8ClampedArray\n* TA.Uint16Array\n* TA.Uint32Array\n\n# install\n\nWith [npm](https://npmjs.org) do:\n\n```\nnpm install typedarray\n```\n\nTo use this module in the browser, compile with\n[browserify](http://browserify.org)\nor download a UMD build from browserify CDN:\n\nhttp://wzrd.in/standalone/typedarray@latest\n\n# license\n\nMIT\n",
- "readmeFilename": "readme.markdown",
"bugs": {
"url": "https://github.com/substack/typedarray/issues"
},
"_id": "typedarray@0.0.6",
+ "dist": {
+ "shasum": "867ac74e3864187b1d3d47d996a78ec5c8830777",
+ "tarball": "http://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
+ },
+ "_from": "typedarray@>=0.0.5 <0.1.0",
+ "_npmVersion": "1.4.3",
+ "_npmUser": {
+ "name": "substack",
+ "email": "mail@substack.net"
+ },
+ "maintainers": [
+ {
+ "name": "substack",
+ "email": "mail@substack.net"
+ }
+ ],
+ "directories": {},
"_shasum": "867ac74e3864187b1d3d47d996a78ec5c8830777",
"_resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "_from": "typedarray@>=0.0.5 <0.1.0"
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/npm-registry-client/node_modules/concat-stream/package.json b/node_modules/npm-registry-client/node_modules/concat-stream/package.json
index 19d94b3e0..5a3f8b401 100644
--- a/node_modules/npm-registry-client/node_modules/concat-stream/package.json
+++ b/node_modules/npm-registry-client/node_modules/concat-stream/package.json
@@ -1,6 +1,6 @@
{
"name": "concat-stream",
- "version": "1.5.0",
+ "version": "1.5.1",
"description": "writable stream that concatenates strings or binary data and calls a callback with the result",
"tags": [
"stream",
@@ -54,11 +54,28 @@
"android-browser/4.2..latest"
]
},
- "readme": "# concat-stream\n\nWritable stream that concatenates strings or binary data and calls a callback with the result. Not a transform stream -- more of a stream sink.\n\n[![Build Status](https://travis-ci.org/maxogden/concat-stream.svg?branch=master)](https://travis-ci.org/maxogden/concat-stream)\n\n[![NPM](https://nodei.co/npm/concat-stream.png)](https://nodei.co/npm/concat-stream/)\n\n### description\n\nStreams emit many buffers. If you want to collect all of the buffers, and when the stream ends concatenate all of the buffers together and receive a single buffer then this is the module for you.\n\nOnly use this if you know you can fit all of the output of your stream into a single Buffer (e.g. in RAM).\n\nThere are also `objectMode` streams that emit things other than Buffers, and you can concatenate these too. See below for details.\n\n### examples\n\n#### Buffers\n\n```js\nvar fs = require('fs')\nvar concat = require('concat-stream')\n\nvar readStream = fs.createReadStream('cat.png')\nvar concatStream = concat(gotPicture)\n\nreadStream.on('error', handleError)\nreadStream.pipe(concatStream)\n\nfunction gotPicture(imageBuffer) {\n // imageBuffer is all of `cat.png` as a node.js Buffer\n}\n\nfunction handleError(err) {\n // handle your error appropriately here, e.g.:\n console.error(err) // print the error to STDERR\n process.exit(1) // exit program with non-zero exit code\n}\n\n```\n\n#### Arrays\n\n```js\nvar write = concat(function(data) {})\nwrite.write([1,2,3])\nwrite.write([4,5,6])\nwrite.end()\n// data will be [1,2,3,4,5,6] in the above callback\n```\n\n#### Uint8Arrays\n\n```js\nvar write = concat(function(data) {})\nvar a = new Uint8Array(3)\na[0] = 97; a[1] = 98; a[2] = 99\nwrite.write(a)\nwrite.write('!')\nwrite.end(Buffer('!!1'))\n```\n\nSee `test/` for more examples\n\n# methods\n\n```js\nvar concat = require('concat-stream')\n```\n\n## var writable = concat(opts={}, cb)\n\nReturn a `writable` stream that will fire `cb(data)` with all of the data that\nwas written to the stream. Data can be written to `writable` as strings,\nBuffers, arrays of byte integers, and Uint8Arrays. \n\nBy default `concat-stream` will give you back the same data type as the type of the first buffer written to the stream. Use `opts.encoding` to set what format `data` should be returned as, e.g. if you if you don't want to rely on the built-in type checking or for some other reason.\n\n* `string` - get a string\n* `buffer` - get back a Buffer\n* `array` - get an array of byte integers\n* `uint8array`, `u8`, `uint8` - get back a Uint8Array\n* `object`, get back an array of Objects\n\nIf you don't specify an encoding, and the types can't be inferred (e.g. you write things that aren't in the list above), it will try to convert concat them into a `Buffer`.\n\n# error handling\n\n`concat-stream` does not handle errors for you, so you must handle errors on whatever streams you pipe into `concat-stream`. This is a general rule when programming with node.js streams: always handle errors on each and every stream. Since `concat-stream` is not itself a stream it does not emit errors.\n\n# license\n\nMIT LICENSE\n",
- "readmeFilename": "readme.md",
+ "gitHead": "522adc12d82f57c691a5f946fbc8ba08718dcdcb",
"homepage": "https://github.com/maxogden/concat-stream#readme",
- "_id": "concat-stream@1.5.0",
- "_shasum": "53f7d43c51c5e43f81c8fdd03321c631be68d611",
- "_resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz",
- "_from": "concat-stream@>=1.4.6 <2.0.0"
+ "_id": "concat-stream@1.5.1",
+ "_shasum": "f3b80acf9e1f48e3875c0688b41b6c31602eea1c",
+ "_from": "concat-stream@>=1.4.6 <2.0.0",
+ "_npmVersion": "2.14.2",
+ "_nodeVersion": "4.0.0",
+ "_npmUser": {
+ "name": "maxogden",
+ "email": "max@maxogden.com"
+ },
+ "dist": {
+ "shasum": "f3b80acf9e1f48e3875c0688b41b6c31602eea1c",
+ "tarball": "http://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz"
+ },
+ "maintainers": [
+ {
+ "name": "maxogden",
+ "email": "max@maxogden.com"
+ }
+ ],
+ "directories": {},
+ "_resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/npm-registry-client/node_modules/concat-stream/readme.md b/node_modules/npm-registry-client/node_modules/concat-stream/readme.md
index 69234d52a..1a16af94c 100644
--- a/node_modules/npm-registry-client/node_modules/concat-stream/readme.md
+++ b/node_modules/npm-registry-client/node_modules/concat-stream/readme.md
@@ -1,6 +1,6 @@
# concat-stream
-Writable stream that concatenates strings or binary data and calls a callback with the result. Not a transform stream -- more of a stream sink.
+Writable stream that concatenates all the data from a stream and calls a callback with the result. Use this when you want to collect all the data from a stream into a single buffer.
[![Build Status](https://travis-ci.org/maxogden/concat-stream.svg?branch=master)](https://travis-ci.org/maxogden/concat-stream)
@@ -14,6 +14,10 @@ Only use this if you know you can fit all of the output of your stream into a si
There are also `objectMode` streams that emit things other than Buffers, and you can concatenate these too. See below for details.
+## Related
+
+`stream-each` is part of the [mississippi stream utility collection](https://github.com/maxogden/mississippi) which includes more useful stream modules similar to this one.
+
### examples
#### Buffers
@@ -89,6 +93,8 @@ If you don't specify an encoding, and the types can't be inferred (e.g. you writ
`concat-stream` does not handle errors for you, so you must handle errors on whatever streams you pipe into `concat-stream`. This is a general rule when programming with node.js streams: always handle errors on each and every stream. Since `concat-stream` is not itself a stream it does not emit errors.
+We recommend using [`end-of-stream`](https://npmjs.org/end-of-stream) or [`pump`](https://npmjs.org/pump) for writing error tolerant stream code.
+
# license
MIT LICENSE
diff --git a/node_modules/npm-registry-client/package.json b/node_modules/npm-registry-client/package.json
index c9670d1c5..aa8a9516e 100644
--- a/node_modules/npm-registry-client/package.json
+++ b/node_modules/npm-registry-client/package.json
@@ -6,9 +6,9 @@
},
"name": "npm-registry-client",
"description": "Client for the npm registry",
- "version": "7.0.7",
+ "version": "7.0.9",
"repository": {
- "url": "git://github.com/isaacs/npm-registry-client.git"
+ "url": "git+https://github.com/npm/npm-registry-client.git"
},
"main": "index.js",
"scripts": {
@@ -27,7 +27,7 @@
"rimraf": "2",
"semver": "2 >=2.2.1 || 3.x || 4 || 5",
"slide": "^1.1.3",
- "npmlog": ""
+ "npmlog": "~2.0.0"
},
"devDependencies": {
"negotiator": "^0.4.9",
@@ -37,45 +37,17 @@
"tap": "^1.2.0"
},
"optionalDependencies": {
- "npmlog": ""
+ "npmlog": "~2.0.0"
},
"license": "ISC",
- "gitHead": "06f188917bf575fe7dc7c2f6d1d4adbaa50bc423",
+ "readme": "# npm-registry-client\n\nThe code that npm uses to talk to the registry.\n\nIt handles all the caching and HTTP calls.\n\n## Usage\n\n```javascript\nvar RegClient = require('npm-registry-client')\nvar client = new RegClient(config)\nvar uri = \"https://registry.npmjs.org/npm\"\nvar params = {timeout: 1000}\n\nclient.get(uri, params, function (error, data, raw, res) {\n // error is an error if there was a problem.\n // data is the parsed data object\n // raw is the json string\n // res is the response from couch\n})\n```\n\n# Registry URLs\n\nThe registry calls take either a full URL pointing to a resource in the\nregistry, or a base URL for the registry as a whole (including the registry\npath – but be sure to terminate the path with `/`). `http` and `https` URLs are\nthe only ones supported.\n\n## Using the client\n\nEvery call to the client follows the same pattern:\n\n* `uri` {String} The *fully-qualified* URI of the registry API method being\n invoked.\n* `params` {Object} Per-request parameters.\n* `callback` {Function} Callback to be invoked when the call is complete.\n\n### Credentials\n\nMany requests to the registry can by authenticated, and require credentials\nfor authorization. These credentials always look the same:\n\n* `username` {String}\n* `password` {String}\n* `email` {String}\n* `alwaysAuth` {Boolean} Whether calls to the target registry are always\n authed.\n\n**or**\n\n* `token` {String}\n* `alwaysAuth` {Boolean} Whether calls to the target registry are always\n authed.\n\n## API\n\n### client.access(uri, params, cb)\n\n* `uri` {String} Registry URL for the package's access API endpoint.\n Looks like `/-/package/<package name>/access`.\n* `params` {Object} Object containing per-request properties.\n * `access` {String} New access level for the package. Can be either\n `public` or `restricted`. Registry will raise an error if trying\n to change the access level of an unscoped package.\n * `auth` {Credentials}\n\nSet the access level for scoped packages. For now, there are only two\naccess levels: \"public\" and \"restricted\".\n\n### client.adduser(uri, params, cb)\n\n* `uri` {String} Base registry URL.\n* `params` {Object} Object containing per-request properties.\n * `auth` {Credentials}\n* `cb` {Function}\n * `error` {Error | null}\n * `data` {Object} the parsed data object\n * `raw` {String} the json\n * `res` {Response Object} response from couch\n\nAdd a user account to the registry, or verify the credentials.\n\n### client.deprecate(uri, params, cb)\n\n* `uri` {String} Full registry URI for the deprecated package.\n* `params` {Object} Object containing per-request properties.\n * `version` {String} Semver version range.\n * `message` {String} The message to use as a deprecation warning.\n * `auth` {Credentials}\n* `cb` {Function}\n\nDeprecate a version of a package in the registry.\n\n### client.distTags.fetch(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `auth` {Credentials}\n* `cb` {Function}\n\nFetch all of the `dist-tags` for the named package.\n\n### client.distTags.add(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `distTag` {String} Name of the new `dist-tag`.\n * `version` {String} Exact version to be mapped to the `dist-tag`.\n * `auth` {Credentials}\n* `cb` {Function}\n\nAdd (or replace) a single dist-tag onto the named package.\n\n### client.distTags.set(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `distTags` {Object} Object containing a map from tag names to package\n versions.\n * `auth` {Credentials}\n* `cb` {Function}\n\nSet all of the `dist-tags` for the named package at once, creating any\n`dist-tags` that do not already exit. Any `dist-tags` not included in the\n`distTags` map will be removed.\n\n### client.distTags.update(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `distTags` {Object} Object containing a map from tag names to package\n versions.\n * `auth` {Credentials}\n* `cb` {Function}\n\nUpdate the values of multiple `dist-tags`, creating any `dist-tags` that do\nnot already exist. Any pre-existing `dist-tags` not included in the `distTags`\nmap will be left alone.\n\n### client.distTags.rm(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `package` {String} Name of the package.\n * `distTag` {String} Name of the new `dist-tag`.\n * `auth` {Credentials}\n* `cb` {Function}\n\nRemove a single `dist-tag` from the named package.\n\n### client.get(uri, params, cb)\n\n* `uri` {String} The complete registry URI to fetch\n* `params` {Object} Object containing per-request properties.\n * `timeout` {Number} Duration before the request times out. Optional\n (default: never).\n * `follow` {Boolean} Follow 302/301 responses. Optional (default: true).\n * `staleOk` {Boolean} If there's cached data available, then return that to\n the callback quickly, and update the cache the background. Optional\n (default: false).\n * `auth` {Credentials} Optional.\n* `cb` {Function}\n\nFetches data from the registry via a GET request, saving it in the cache folder\nwith the ETag or the \"Last Modified\" timestamp.\n\n### client.publish(uri, params, cb)\n\n* `uri` {String} The registry URI for the package to publish.\n* `params` {Object} Object containing per-request properties.\n * `metadata` {Object} Package metadata.\n * `access` {String} Access for the package. Can be `public` or `restricted` (no default).\n * `body` {Stream} Stream of the package body / tarball.\n * `auth` {Credentials}\n* `cb` {Function}\n\nPublish a package to the registry.\n\nNote that this does not create the tarball from a folder.\n\n### client.star(uri, params, cb)\n\n* `uri` {String} The complete registry URI for the package to star.\n* `params` {Object} Object containing per-request properties.\n * `starred` {Boolean} True to star the package, false to unstar it. Optional\n (default: false).\n * `auth` {Credentials}\n* `cb` {Function}\n\nStar or unstar a package.\n\nNote that the user does not have to be the package owner to star or unstar a\npackage, though other writes do require that the user be the package owner.\n\n### client.stars(uri, params, cb)\n\n* `uri` {String} The base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n * `username` {String} Name of user to fetch starred packages for. Optional\n (default: user in `auth`).\n * `auth` {Credentials} Optional (required if `username` is omitted).\n* `cb` {Function}\n\nView your own or another user's starred packages.\n\n### client.tag(uri, params, cb)\n\n* `uri` {String} The complete registry URI to tag\n* `params` {Object} Object containing per-request properties.\n * `version` {String} Version to tag.\n * `tag` {String} Tag name to apply.\n * `auth` {Credentials}\n* `cb` {Function}\n\nMark a version in the `dist-tags` hash, so that `pkg@tag` will fetch the\nspecified version.\n\n### client.unpublish(uri, params, cb)\n\n* `uri` {String} The complete registry URI of the package to unpublish.\n* `params` {Object} Object containing per-request properties.\n * `version` {String} version to unpublish. Optional – omit to unpublish all\n versions.\n * `auth` {Credentials}\n* `cb` {Function}\n\nRemove a version of a package (or all versions) from the registry. When the\nlast version us unpublished, the entire document is removed from the database.\n\n### client.whoami(uri, params, cb)\n\n* `uri` {String} The base registry for the URI.\n* `params` {Object} Object containing per-request properties.\n * `auth` {Credentials}\n* `cb` {Function}\n\nSimple call to see who the registry thinks you are. Especially useful with\ntoken-based auth.\n\n\n## PLUMBING\n\nThe below are primarily intended for use by the rest of the API, or by the npm\ncaching logic directly.\n\n### client.request(uri, params, cb)\n\n* `uri` {String} URI pointing to the resource to request.\n* `params` {Object} Object containing per-request properties.\n * `method` {String} HTTP method. Optional (default: \"GET\").\n * `body` {Stream | Buffer | String | Object} The request body. Objects\n that are not Buffers or Streams are encoded as JSON. Optional – body\n only used for write operations.\n * `etag` {String} The cached ETag. Optional.\n * `lastModified` {String} The cached Last-Modified timestamp. Optional.\n * `follow` {Boolean} Follow 302/301 responses. Optional (default: true).\n * `auth` {Credentials} Optional.\n* `cb` {Function}\n * `error` {Error | null}\n * `data` {Object} the parsed data object\n * `raw` {String} the json\n * `res` {Response Object} response from couch\n\nMake a generic request to the registry. All the other methods are wrappers\naround `client.request`.\n\n### client.fetch(uri, params, cb)\n\n* `uri` {String} The complete registry URI to upload to\n* `params` {Object} Object containing per-request properties.\n * `headers` {Stream} HTTP headers to be included with the request. Optional.\n * `auth` {Credentials} Optional.\n* `cb` {Function}\n\nFetch a package from a URL, with auth set appropriately if included. Used to\ncache remote tarballs as well as request package tarballs from the registry.\n\n# Configuration\n\nThe client uses its own configuration, which is just passed in as a simple\nnested object. The following are the supported values (with their defaults, if\nany):\n\n* `proxy.http` {URL} The URL to proxy HTTP requests through.\n* `proxy.https` {URL} The URL to proxy HTTPS requests through. Defaults to be\n the same as `proxy.http` if unset.\n* `proxy.localAddress` {IP} The local address to use on multi-homed systems.\n* `ssl.ca` {String} Certificate signing authority certificates to trust.\n* `ssl.certificate` {String} Client certificate (PEM encoded). Enable access\n to servers that require client certificates.\n* `ssl.key` {String} Private key (PEM encoded) for client certificate.\n* `ssl.strict` {Boolean} Whether or not to be strict with SSL certificates.\n Default = `true`\n* `retry.count` {Number} Number of times to retry on GET failures. Default = 2.\n* `retry.factor` {Number} `factor` setting for `node-retry`. Default = 10.\n* `retry.minTimeout` {Number} `minTimeout` setting for `node-retry`.\n Default = 10000 (10 seconds)\n* `retry.maxTimeout` {Number} `maxTimeout` setting for `node-retry`.\n Default = 60000 (60 seconds)\n* `userAgent` {String} User agent header to send. Default =\n `\"node/{process.version}\"`\n* `log` {Object} The logger to use. Defaults to `require(\"npmlog\")` if\n that works, otherwise logs are disabled.\n* `defaultTag` {String} The default tag to use when publishing new packages.\n Default = `\"latest\"`\n* `couchToken` {Object} A token for use with\n [couch-login](https://npmjs.org/package/couch-login).\n* `sessionToken` {string} A random identifier for this set of client requests.\n Default = 8 random hexadecimal bytes.\n",
+ "readmeFilename": "README.md",
+ "gitHead": "2c0c83149edb270829582a234703404b2ba1c410",
"bugs": {
- "url": "https://github.com/isaacs/npm-registry-client/issues"
+ "url": "https://github.com/npm/npm-registry-client/issues"
},
- "homepage": "https://github.com/isaacs/npm-registry-client#readme",
- "_id": "npm-registry-client@7.0.7",
- "_shasum": "899d7c8fefe87b72a70d8c9e075fb874539e0d3e",
- "_from": "npm-registry-client@>=7.0.7 <7.1.0",
- "_npmVersion": "2.14.4",
- "_nodeVersion": "2.2.2",
- "_npmUser": {
- "name": "zkat",
- "email": "kat@sykosomatic.org"
- },
- "dist": {
- "shasum": "899d7c8fefe87b72a70d8c9e075fb874539e0d3e",
- "tarball": "http://registry.npmjs.org/npm-registry-client/-/npm-registry-client-7.0.7.tgz"
- },
- "maintainers": [
- {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
- },
- {
- "name": "othiym23",
- "email": "ogd@aoaioxxysz.net"
- },
- {
- "name": "iarna",
- "email": "me@re-becca.org"
- },
- {
- "name": "zkat",
- "email": "kat@sykosomatic.org"
- }
- ],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-7.0.7.tgz"
+ "homepage": "https://github.com/npm/npm-registry-client#readme",
+ "_id": "npm-registry-client@7.0.9",
+ "_shasum": "1baf86ee5285c4e6d38d4556208ded56049231bb",
+ "_from": "npm-registry-client@>=7.0.9 <7.1.0"
}
diff --git a/node_modules/npm-registry-client/test/access.js b/node_modules/npm-registry-client/test/access.js
index c07b1bd6a..78b00017f 100644
--- a/node_modules/npm-registry-client/test/access.js
+++ b/node_modules/npm-registry-client/test/access.js
@@ -14,6 +14,13 @@ var PARAMS = {
package: '@foo/bar',
permissions: 'read-write'
}
+var UNSCOPED = {
+ auth: { token: 'foo' },
+ scope: 'myorg',
+ team: 'myteam',
+ package: 'bar',
+ permissions: 'read-write'
+}
var commands = [
'public', 'restricted', 'grant', 'revoke', 'ls-packages', 'ls-collaborators'
@@ -72,6 +79,25 @@ test('access grant basic', function (t) {
})
})
+test('access grant basic unscoped', function (t) {
+ server.expect('PUT', '/-/team/myorg/myteam/package', function (req, res) {
+ t.equal(req.method, 'PUT')
+ onJsonReq(req, function (json) {
+ t.deepEqual(json, {
+ permissions: UNSCOPED.permissions,
+ package: UNSCOPED.package
+ })
+ res.statusCode = 201
+ res.json({ accessChanged: true })
+ })
+ })
+ client.access('grant', URI, UNSCOPED, function (error, data) {
+ t.ifError(error, 'no errors')
+ t.ok(data.accessChanged, 'access level set')
+ t.end()
+ })
+})
+
test('access revoke basic', function (t) {
server.expect('DELETE', '/-/team/myorg/myteam/package', function (req, res) {
t.equal(req.method, 'DELETE')
@@ -90,6 +116,24 @@ test('access revoke basic', function (t) {
})
})
+test('access revoke basic unscoped', function (t) {
+ server.expect('DELETE', '/-/team/myorg/myteam/package', function (req, res) {
+ t.equal(req.method, 'DELETE')
+ onJsonReq(req, function (json) {
+ t.deepEqual(json, {
+ package: UNSCOPED.package
+ })
+ res.statusCode = 200
+ res.json({ accessChanged: true })
+ })
+ })
+ client.access('revoke', URI, UNSCOPED, function (error, data) {
+ t.ifError(error, 'no errors')
+ t.ok(data.accessChanged, 'access level set')
+ t.end()
+ })
+})
+
test('ls-packages on team', function (t) {
var serverPackages = {
'@foo/bar': 'write',
@@ -188,7 +232,7 @@ test('ls-collaborators', function (t) {
})
})
-test('ls-collaborators w/ scope', function (t) {
+test('ls-collaborators w/scope', function (t) {
var serverCollaborators = {
'myorg:myteam': 'write',
'myorg:anotherteam': 'read'
@@ -212,6 +256,30 @@ test('ls-collaborators w/ scope', function (t) {
})
})
+test('ls-collaborators w/o scope', function (t) {
+ var serverCollaborators = {
+ 'myorg:myteam': 'write',
+ 'myorg:anotherteam': 'read'
+ }
+ var clientCollaborators = {
+ 'myorg:myteam': 'read-write',
+ 'myorg:anotherteam': 'read-only'
+ }
+ var uri = '/-/package/bar/collaborators?format=cli&user=zkat'
+ server.expect('GET', uri, function (req, res) {
+ t.equal(req.method, 'GET')
+ res.statusCode = 200
+ res.json(serverCollaborators)
+ })
+ var params = Object.create(UNSCOPED)
+ params.user = 'zkat'
+ client.access('ls-collaborators', URI, params, function (error, data) {
+ t.ifError(error, 'no errors')
+ t.same(data, clientCollaborators)
+ t.end()
+ })
+})
+
test('access command base validation', function (t) {
t.throws(function () {
client.access(undefined, URI, PARAMS, nop)
@@ -242,7 +310,7 @@ test('access command base validation', function (t) {
client.access(cmd, URI, PARAMS, undefined)
}, 'callback is required')
if (contains([
- 'public', 'restricted', 'grant', 'revoke', 'ls-collaborators'
+ 'public', 'restricted'
], cmd)) {
t.throws(function () {
var params = Object.create(PARAMS)
@@ -253,7 +321,7 @@ test('access command base validation', function (t) {
var params = Object.create(PARAMS)
params.package = 'underscore'
client.access(cmd, URI, params, nop)
- }, 'only scopes packages are allowed')
+ }, 'only scoped packages are allowed')
}
if (contains(['grant', 'revoke', 'ls-packages'], cmd)) {
t.throws(function () {