deps: upgrade npm to 4.2.0

PR-URL: https://github.com/nodejs/node/pull/11389
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
This commit is contained in:
Kat Marchán 2017-02-14 15:12:22 -08:00 committed by Jeremiah Senkpiel
parent caf9ae748b
commit e1834ff5da
300 changed files with 2797 additions and 12053 deletions

2
deps/npm/.mailmap vendored
View File

@ -21,7 +21,7 @@ Evan Lucas <evan@btc.com> <evan.lucas@hattiesburgclinic.com>
Evan Lucas <evan@btc.com> <evanlucas@me.com>
Faiq Raza <faiqrazarizvi@gmail.com>
Forbes Lindesay <forbes@lindesay.co.uk>
Forrest L Norvell <ogd@aoaioxxysz.net> <forrest@npmjs.com>
Forrest L Norvell <ogd@aoaioxxysz.net> <forrest@npmjs.com> <othiym23@gmail.com>
Gabriel Barros <descartavel1@gmail.com>
Geoff Flarity <geoff.flarity@gmail.com> <gflarity@raptvm-x02.(none)>
Gregers Gram Rygg <gregers.gram.rygg@finn.no>

4
deps/npm/AUTHORS vendored
View File

@ -446,3 +446,7 @@ Ville Lahdenvuo <tuhoojabotti@gmail.com>
Natalie Wolfe <nwolfe@newrelic.com>
Andrew Schmadel <aschmadel@learningobjects.com>
Jonah Moses <jonahkmoses@gmail.com>
Daijirō Wachi <daijiro.wachi@gmail.com>
Dmitry Litvinchenko <karaliti@gmail.com>
chocolateboy <chocolate@cpan.org>
Henry Zhu <hi@henryzoo.com>

114
deps/npm/CHANGELOG.md vendored
View File

@ -1,3 +1,117 @@
### v4.2.0 (2017-01-26):
Hi all! I'm Kat, and I'm currently sitting in a train traveling at ~300km/h
through Spain. So clearly, this release should have *something* to do with
speed. And it does! Heck, with this release, you could say we're really
_blazing_, even. 🌲🔥😏
#### IMPROVED CLI SEARCH~
You might recall if you've been keeping up that one of the reasons for a
semver-major bump to `npm@4` was an improved CLI search (read: no longer blowing
up Node). The work done for that new search system, while still relying on a
full metadata download and local search, was also meant to act as groundwork for
then-ongoing work on a brand-new, smarter search system for npm. Shortly after
`npm@4` came out, the bulk of the server-side work was done, and with this
release, the npm CLI has integrated use of the new endpoint for high-quality,
fast-turnaround searches.
No, seriously, it's *fast*. And *relevant*:
[![GOTTA GO FAST! This is a gif of the new npm search returning results in around a second for `npm search web framework`.](https://cloud.githubusercontent.com/assets/17535/21954136/f007e8be-d9fd-11e6-9231-f899c12790e0.gif)](https://github.com/npm/npm/pull/15481)
Give it a shot! And remember to check out the new website version of the search,
too, which uses the same backend as the CLI now. 🎉
Incidentally, the backend is a public service, so you can write your own search
tools, be they web-based, CLI, or GUI-based. You can read up on the [full
documentation for the search
endpoint](https://github.com/npm/registry/blob/master/docs/REGISTRY-API.md#get-v1search),
and let us know about the cool things you come up with!
* [`ce3ca51`](https://github.com/npm/npm/commit/ce3ca51ca2d60e15e901c8bf6256338e53e1eca2)
[#15481](https://github.com/npm/npm/pull/15481)
Add an internal `gunzip-maybe` utility for optional gunzipping.
([@zkat](https://github.com/zkat))
* [`e322932`](https://github.com/npm/npm/commit/e3229324d507fda10ea9e94fd4de8a4ae5025c75) [`a53055e`](https://github.com/npm/npm/commit/a53055e423f1fe168f05047aa0dfec6d963cb211) [`a1f4365`](https://github.com/npm/npm/commit/a1f436570730c6e4a173ca92d1967a87c29b7f2d) [`c56618c`](https://github.com/npm/npm/commit/c56618c62854ea61f6f716dffe7bcac80b5f4144)
[#15481](https://github.com/npm/npm/pull/15481)
Add support for using the new npm search endpoint for fast, quality search
results. Includes a fallback to "classic" search.
([@zkat](https://github.com/zkat))
#### WHERE DID THE DEBUG LOGS GO
This is another pretty significant change: Usually, when the npm process
crashed, you would get an `npm-debug.log` in your current working directory.
This debug log would get cleared out as soon as you ran npm again. This was a
bit annoying because 1) you would get a random file in your `git status` that
you might accidentally commit, and 2) if you hit a hard-to-reproduce bug and
instinctually tried again, you would no longer have access to the repro
`npm-debug.log`.
So now, any time a crash happens, we'll save your debug logs to your cache
folder, under `_logs` (`~/.npm` on *nix, by default -- use `npm config get
cache` to see what your current value is). The cache will now hold a
(configurable) number of `npm-debug.log` files, which you can access in the
future. Hopefully this will help clean stuff up and reduce frustration from
missed repros! In the future, this will also be used by `npm report` to make it
super easy to put up issues about crashes you run into with npm. 💃🕺🏿👯‍♂️
* [`04fca22`](https://github.com/npm/npm/commit/04fca223a0f704b69340c5f81b26907238fad878)
[#11439](https://github.com/npm/npm/pull/11439)
Put debug logs in `$(npm get cache)/_logs` and store multiple log files.
([@KenanY](https://github.com/KenanY))
([@othiym23](https://github.com/othiym23))
([@isaacs](https://github.com/isaacs))
([@iarna](https://github.com/iarna))
#### DOCS
* [`ae8e71c`](https://github.com/npm/npm/commit/ae8e71c2b7d64d782af287a21e146d7cea6e5273)
[#15402](https://github.com/npm/npm/pull/15402)
Add missing backtick in one of the `npm doctor` messages.
([@watilde](https://github.com/watilde), [@charlotteis](https://github.com/charlotteis))
* [`821fee6`](https://github.com/npm/npm/commit/821fee6d0b12a324e035c397ae73904db97d07d2)
[#15480](https://github.com/npm/npm/pull/15480)
Clarify that unscoped packages can depend on scoped packages and vice-versa.
([@chocolateboy](https://github.com/chocolateboy))
* [`2ee45a8`](https://github.com/npm/npm/commit/2ee45a884137ae0706b7c741c671fef2cb3bac96)
[#15515](https://github.com/npm/npm/pull/15515)
Update minimum supported Node version number in the README to `node@>=4`.
([@watilde](https://github.com/watilde))
* [`af06aa9`](https://github.com/npm/npm/commit/af06aa9a357578a8fd58c575f3dbe55bc65fc376)
[#15520](https://github.com/npm/npm/pull/15520)
Add section to `npm-scope` docs to explain that scope owners will own scoped
packages with that scope. That is, user `@alice` is not allowed to publish to
`@bob/my-package` unless explicitly made an owner by user (or org) `@bob`.
([@hzoo](https://github.com/hzoo))
* [`bc892e6`](https://github.com/npm/npm/commit/bc892e6d07a4c6646480703641a4d71129c38b6d)
[#15539](https://github.com/npm/npm/pull/15539)
Replace `http` with `https` and fix typos in some docs.
([@watilde](https://github.com/watilde))
* [`1dfe875`](https://github.com/npm/npm/commit/1dfe875b9ac61a0ab9f61a2eab02bacf6cce583c)
[#15545](https://github.com/npm/npm/pull/15545)
Update Node.js download link to point to the right place.
([@watilde](https://github.com/watilde))
#### DEPENDENCIES
* [`b824bfb`](https://github.com/npm/npm/commit/b824bfbeb2d89c92762e9170b026af98b5a3668a)
`ansi-regex@2.1.1`
* [`81ea3e8`](https://github.com/npm/npm/commit/81ea3e8e4ea34cd9c2b418512dcb508abcee1380)
`mississippi@1.3.0`
#### MISC
* [`98df212`](https://github.com/npm/npm/commit/98df212a91fd6ff4a02b9cd247f4166f93d3977a)
[#15492](https://github.com/npm/npm/pull/15492)
Update the "master" node version used for AppVeyor to `node@7`.
([@watilde](https://github.com/watilde))
* [`d75fc03`](https://github.com/npm/npm/commit/d75fc03eda5364f12ac266fa4f66e31c2e44e864)
[#15413](https://github.com/npm/npm/pull/15413)
`npm run-script` now exits with the child process' exit code on exit.
([@kapals](https://github.com/kapals))
### v4.1.2 (2017-01-12)
We have a twee little release this week as we come back from the holidays.

6
deps/npm/README.md vendored
View File

@ -9,9 +9,9 @@ Much more info available via `npm help` once it's installed.
## IMPORTANT
**You need node v0.10 or higher to run this program.**
**You need node v4 or higher to run this program.**
To install an old **and unsupported** version of npm that works on node 0.3
To install an old **and unsupported** version of npm that works on node v0.12
and prior, clone the git repo and dig through the old tags and branches.
**npm is configured to use npm, Inc.'s public package registry at
@ -84,7 +84,7 @@ for testing, or running stuff without actually installing npm itself.)
Many improvements for Windows users have been made in npm 3 - you will have a better
experience if you run a recent version of npm. To upgrade, either use [Microsoft's
upgrade tool](https://github.com/felixrieseberg/npm-windows-upgrade),
[download a new version of Node](http://nodejs.org/download/),
[download a new version of Node](https://nodejs.org/en/download/),
or follow the Windows upgrade instructions in the
[npm Troubleshooting Guide](https://github.com/npm/npm/wiki/Troubleshooting#upgrading-on-windows).

View File

@ -5,7 +5,7 @@ environment:
# previous LTS is next most important
- nodejs_version: "4"
# then master
- nodejs_version: "5"
- nodejs_version: "7"
COVERALLS_REPO_TOKEN:
secure: XdC0aySefK0HLh1GNk6aKrzZPbCfPQLyA4mYtFGEp4DrTuZA/iuCUS0LDqFYO8JQ
platform:

View File

@ -119,7 +119,7 @@ array of license objects:
// Not valid metadata
{ "license" :
{ "type" : "ISC"
, "url" : "http://opensource.org/licenses/ISC"
, "url" : "https://opensource.org/licenses/ISC"
}
}
@ -127,10 +127,10 @@ array of license objects:
{ "licenses" :
[
{ "type": "MIT"
, "url": "http://www.opensource.org/licenses/mit-license.php"
, "url": "https://www.opensource.org/licenses/mit-license.php"
}
, { "type": "Apache-2.0"
, "url": "http://opensource.org/licenses/apache2.0.php"
, "url": "https://opensource.org/licenses/apache2.0.php"
}
]
}

View File

@ -576,6 +576,13 @@ stderr.
If the `color` config is set to true, then this stream will receive
colored output if it is a TTY.
### logs-max
* Default: 10
* Type: Number
The maximum number of log files to store.
### long
* Default: false
@ -844,12 +851,21 @@ Space-separated options that limit the results from search.
Space-separated options that are always passed to search.
### searchlimit
* Default: 20
* Type: Number
Number of items to limit search results to. Will not apply at all to legacy
searches.
### searchstaleness
* Default: 900 (15 minutes)
* Type: Number
The age of the cache, in seconds, before another registry request is made.
The age of the cache, in seconds, before another registry request is made if
using legacy search endpoint.
### send-metrics

View File

@ -4,30 +4,35 @@ npm-scope(7) -- Scoped packages
## DESCRIPTION
All npm packages have a name. Some package names also have a scope. A scope
follows the usual rules for package names (url-safe characters, no leading dots
or underscores). When used in package names, preceded by an @-symbol and
followed by a slash, e.g.
follows the usual rules for package names (URL-safe characters, no leading dots
or underscores). When used in package names, scopes are preceded by an `@` symbol
and followed by a slash, e.g.
@somescope/somepackagename
Scopes are a way of grouping related packages together, and also affect a few
things about the way npm treats the package.
Each npm user/organization has their own scope, and only you can add packages
in your scope. This means you don't have to worry about someone taking your
package name ahead of you. Thus it is also a good way to signal official packages
for organizations.
Scoped packages can be published and installed as of `npm@2` and are supported
by the primary npm registry. The npm client is backwards-compatible with
un-scoped registries, so it can be used to work with scoped and un-scoped
registries at the same time.
by the primary npm registry. Unscoped packages can depend on scoped packages and
vice versa. The npm client is backwards-compatible with unscoped registries,
so it can be used to work with scoped and unscoped registries at the same time.
## Installing scoped packages
Scoped packages are installed to a sub-folder of the regular installation
folder, e.g. if your other packages are installed in `node_modules/packagename`,
scoped modules will be in `node_modules/@myorg/packagename`. The scope folder
(`@myorg`) is simply the name of the scope preceded by an @-symbol, and can
scoped modules will be installed in `node_modules/@myorg/packagename`. The scope
folder (`@myorg`) is simply the name of the scope preceded by an `@` symbol, and can
contain any number of scoped packages.
A scoped package is installed by referencing it by name, preceded by an
@-symbol, in `npm install`:
`@` symbol, in `npm install`:
npm install @myorg/mypackage
@ -37,7 +42,7 @@ Or in `package.json`:
"@myorg/mypackage": "^1.3.0"
}
Note that if the @-symbol is omitted in either case npm will instead attempt to
Note that if the `@` symbol is omitted, in either case, npm will instead attempt to
install from GitHub; see `npm-install(1)`.
## Requiring scoped packages
@ -47,8 +52,8 @@ include the name of the scope when requiring them in your code, e.g.
require('@myorg/mypackage')
There is nothing special about the way Node treats scope folders, this is
just specifying to require the module `mypackage` in the folder called `@myorg`.
There is nothing special about the way Node treats scope folders. This
simply requires the `mypackage` module in the folder named `@myorg`.
## Publishing scoped packages
@ -57,14 +62,14 @@ published to any registry that supports them, including the primary npm
registry.
(As of 2015-04-19, and with npm 2.0 or better, the primary npm registry
**does** support scoped packages)
**does** support scoped packages.)
If you wish, you may associate a scope with a registry; see below.
### Publishing public scoped packages to the primary npm registry
To publish a public scoped package, you must specify `--access public` with
the initial publication. This will publish the package and set access
the initial publication. This will publish the package and set access
to `public` as if you had run `npm access public` after publishing.
### Publishing private scoped packages to the npm registry
@ -75,7 +80,7 @@ account.
You can then publish the module with `npm publish` or `npm publish
--access restricted`, and it will be present in the npm registry, with
restricted access. You can then change the access permissions, if
restricted access. You can then change the access permissions, if
desired, with `npm access` or on the npmjs.com website.
## Associating a scope with a registry
@ -105,3 +110,4 @@ that registry instead.
* npm-install(1)
* npm-publish(1)
* npm-access(1)
* npm-registry(7)

View File

@ -15,8 +15,8 @@
<p>This is just enough info to get you up and running.</p>
<p>Much more info available via <code>npm help</code> once it&#39;s installed.</p>
<h2 id="important">IMPORTANT</h2>
<p><strong>You need node v0.10 or higher to run this program.</strong></p>
<p>To install an old <strong>and unsupported</strong> version of npm that works on node 0.3
<p><strong>You need node v4 or higher to run this program.</strong></p>
<p>To install an old <strong>and unsupported</strong> version of npm that works on node v0.12
and prior, clone the git repo and dig through the old tags and branches.</p>
<p><strong>npm is configured to use npm, Inc.&#39;s public package registry at
<a href="https://registry.npmjs.org">https://registry.npmjs.org</a> by default.</strong></p>
@ -60,7 +60,7 @@ for testing, or running stuff without actually installing npm itself.)</p>
<p>Many improvements for Windows users have been made in npm 3 - you will have a better
experience if you run a recent version of npm. To upgrade, either use <a href="https://github.com/felixrieseberg/npm-windows-upgrade">Microsoft&#39;s
upgrade tool</a>,
<a href="http://nodejs.org/download/">download a new version of Node</a>,
<a href="https://nodejs.org/en/download/">download a new version of Node</a>,
or follow the Windows upgrade instructions in the
<a href="https://github.com/npm/npm/wiki/Troubleshooting#upgrading-on-windows">npm Troubleshooting Guide</a>.</p>
<p>If that&#39;s not fancy enough for you, then you can fetch the code with
@ -126,5 +126,5 @@ will no doubt tell you to put the output in a gist or email.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@4.1.2</p>
<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@4.2.0</p>

View File

@ -84,5 +84,5 @@ with an HTTP 402 status code (logically enough), unless you use
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-access &mdash; npm@4.1.2</p>
<p id="footer">npm-access &mdash; npm@4.2.0</p>

View File

@ -73,5 +73,5 @@ over any global configuration.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-adduser &mdash; npm@4.1.2</p>
<p id="footer">npm-adduser &mdash; npm@4.2.0</p>

View File

@ -35,5 +35,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-bin &mdash; npm@4.1.2</p>
<p id="footer">npm-bin &mdash; npm@4.2.0</p>

View File

@ -55,5 +55,5 @@ a <code>package.json</code> in the current folder and use the <code>name</code>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-bugs &mdash; npm@4.1.2</p>
<p id="footer">npm-bugs &mdash; npm@4.2.0</p>

View File

@ -40,5 +40,5 @@ directly, run:</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-build &mdash; npm@4.1.2</p>
<p id="footer">npm-build &mdash; npm@4.2.0</p>

View File

@ -31,5 +31,5 @@ install packages into the local space.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-bundle &mdash; npm@4.1.2</p>
<p id="footer">npm-bundle &mdash; npm@4.2.0</p>

View File

@ -82,5 +82,5 @@ they do not make an HTTP request to the registry.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-cache &mdash; npm@4.1.2</p>
<p id="footer">npm-cache &mdash; npm@4.2.0</p>

View File

@ -43,5 +43,5 @@ completions based on the arguments.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-completion &mdash; npm@4.1.2</p>
<p id="footer">npm-completion &mdash; npm@4.2.0</p>

View File

@ -67,5 +67,5 @@ global config.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-config &mdash; npm@4.1.2</p>
<p id="footer">npm-config &mdash; npm@4.2.0</p>

View File

@ -61,5 +61,5 @@ result in new modules being installed.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-dedupe &mdash; npm@4.1.2</p>
<p id="footer">npm-dedupe &mdash; npm@4.2.0</p>

View File

@ -38,5 +38,5 @@ something like this:</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-deprecate &mdash; npm@4.1.2</p>
<p id="footer">npm-deprecate &mdash; npm@4.2.0</p>

View File

@ -86,5 +86,5 @@ begin with a number or the letter <code>v</code>.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-dist-tag &mdash; npm@4.1.2</p>
<p id="footer">npm-dist-tag &mdash; npm@4.2.0</p>

View File

@ -56,5 +56,5 @@ the current folder and use the <code>name</code> property.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-docs &mdash; npm@4.1.2</p>
<p id="footer">npm-docs &mdash; npm@4.2.0</p>

View File

@ -103,4 +103,4 @@ cache, you should probably run <code>npm cache clean</code> and reset the cache.
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-doctor &mdash; npm@4.1.2</p>
<p id="footer">npm-doctor &mdash; npm@4.2.0</p>

View File

@ -49,5 +49,5 @@ or <code>&quot;notepad&quot;</code> on Windows.</li>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-edit &mdash; npm@4.1.2</p>
<p id="footer">npm-edit &mdash; npm@4.2.0</p>

View File

@ -49,5 +49,5 @@ Windows</li>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-explore &mdash; npm@4.1.2</p>
<p id="footer">npm-explore &mdash; npm@4.2.0</p>

View File

@ -45,5 +45,5 @@ where the terms were found in the documentation.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-help-search &mdash; npm@4.1.2</p>
<p id="footer">npm-help-search &mdash; npm@4.2.0</p>

View File

@ -50,5 +50,5 @@ matches are equivalent to specifying a topic name.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-help &mdash; npm@4.1.2</p>
<p id="footer">npm-help &mdash; npm@4.2.0</p>

View File

@ -48,5 +48,5 @@ defaults and not prompt you for any options.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-init &mdash; npm@4.1.2</p>
<p id="footer">npm-init &mdash; npm@4.2.0</p>

View File

@ -42,5 +42,5 @@ takes exactly the same arguments as <code>npm install</code>.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-install-test &mdash; npm@4.1.2</p>
<p id="footer">npm-install-test &mdash; npm@4.2.0</p>

View File

@ -316,5 +316,5 @@ affects a real use-case, it will be investigated.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-install &mdash; npm@4.1.2</p>
<p id="footer">npm-install &mdash; npm@4.2.0</p>

View File

@ -74,5 +74,5 @@ include that scope, e.g.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-link &mdash; npm@4.1.2</p>
<p id="footer">npm-link &mdash; npm@4.2.0</p>

View File

@ -51,5 +51,5 @@ it takes precedence.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-logout &mdash; npm@4.1.2</p>
<p id="footer">npm-logout &mdash; npm@4.2.0</p>

View File

@ -21,7 +21,7 @@ installed, as well as their dependencies, in a tree-structure.</p>
limit the results to only the paths to the packages named. Note that
nested packages will <em>also</em> show the paths to the specified packages.
For example, running <code>npm ls promzard</code> in npm&#39;s source tree will show:</p>
<pre><code>npm@4.1.2 /path/to/npm
<pre><code>npm@4.2.0 /path/to/npm
└─┬ init-package-json@0.0.4
└── promzard@0.1.5
</code></pre><p>It will print out extraneous, missing, and invalid packages.</p>
@ -104,5 +104,5 @@ project.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-ls &mdash; npm@4.1.2</p>
<p id="footer">npm-ls &mdash; npm@4.2.0</p>

View File

@ -116,5 +116,5 @@ project.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-outdated &mdash; npm@4.1.2</p>
<p id="footer">npm-outdated &mdash; npm@4.2.0</p>

View File

@ -51,5 +51,5 @@ that is not implemented at this time.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-owner &mdash; npm@4.1.2</p>
<p id="footer">npm-owner &mdash; npm@4.2.0</p>

View File

@ -41,5 +41,5 @@ overwritten the second time.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-pack &mdash; npm@4.1.2</p>
<p id="footer">npm-pack &mdash; npm@4.2.0</p>

View File

@ -32,5 +32,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-ping &mdash; npm@4.1.2</p>
<p id="footer">npm-ping &mdash; npm@4.2.0</p>

View File

@ -38,5 +38,5 @@ to contain a package.json file unless <code>-g</code> is also specified.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-prefix &mdash; npm@4.1.2</p>
<p id="footer">npm-prefix &mdash; npm@4.2.0</p>

View File

@ -40,5 +40,5 @@ negate <code>NODE_ENV</code> being set to <code>production</code>.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-prune &mdash; npm@4.1.2</p>
<p id="footer">npm-prune &mdash; npm@4.2.0</p>

View File

@ -76,5 +76,5 @@ packs them into a tarball to be uploaded to the registry.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-publish &mdash; npm@4.1.2</p>
<p id="footer">npm-publish &mdash; npm@4.2.0</p>

View File

@ -35,5 +35,5 @@ the new binary.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-rebuild &mdash; npm@4.1.2</p>
<p id="footer">npm-rebuild &mdash; npm@4.2.0</p>

View File

@ -41,5 +41,5 @@ a <code>package.json</code> in the current folder and use the <code>name</code>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-repo &mdash; npm@4.1.2</p>
<p id="footer">npm-repo &mdash; npm@4.2.0</p>

View File

@ -53,5 +53,5 @@ behavior will be accompanied by an increase in major version number</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-restart &mdash; npm@4.1.2</p>
<p id="footer">npm-restart &mdash; npm@4.2.0</p>

View File

@ -35,5 +35,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-root &mdash; npm@4.1.2</p>
<p id="footer">npm-root &mdash; npm@4.2.0</p>

View File

@ -66,5 +66,5 @@ you will be given a warning to run <code>npm install</code>, just in case you&#3
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-run-script &mdash; npm@4.1.2</p>
<p id="footer">npm-run-script &mdash; npm@4.2.0</p>

View File

@ -109,5 +109,5 @@ setting.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-search &mdash; npm@4.1.2</p>
<p id="footer">npm-search &mdash; npm@4.2.0</p>

View File

@ -180,5 +180,5 @@ contents rather than versions.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-shrinkwrap &mdash; npm@4.1.2</p>
<p id="footer">npm-shrinkwrap &mdash; npm@4.2.0</p>

View File

@ -36,5 +36,5 @@ a vaguely positive way to show that you care.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-star &mdash; npm@4.1.2</p>
<p id="footer">npm-star &mdash; npm@4.2.0</p>

View File

@ -36,5 +36,5 @@ you will most certainly enjoy this command.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-stars &mdash; npm@4.1.2</p>
<p id="footer">npm-stars &mdash; npm@4.2.0</p>

View File

@ -39,5 +39,5 @@ more details.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-start &mdash; npm@4.1.2</p>
<p id="footer">npm-start &mdash; npm@4.2.0</p>

View File

@ -34,5 +34,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-stop &mdash; npm@4.1.2</p>
<p id="footer">npm-stop &mdash; npm@4.2.0</p>

View File

@ -67,5 +67,5 @@ use the <code>npm access</code> command to grant or revoke the appropriate permi
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-team &mdash; npm@4.1.2</p>
<p id="footer">npm-team &mdash; npm@4.2.0</p>

View File

@ -36,5 +36,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-test &mdash; npm@4.1.2</p>
<p id="footer">npm-test &mdash; npm@4.2.0</p>

View File

@ -60,5 +60,5 @@ npm uninstall dtrace-provider --save-optional
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-uninstall &mdash; npm@4.1.2</p>
<p id="footer">npm-uninstall &mdash; npm@4.2.0</p>

View File

@ -47,5 +47,5 @@ package again, a new version number must be used.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-unpublish &mdash; npm@4.1.2</p>
<p id="footer">npm-unpublish &mdash; npm@4.2.0</p>

View File

@ -118,5 +118,5 @@ be <em>downgraded</em>.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-update &mdash; npm@4.1.2</p>
<p id="footer">npm-update &mdash; npm@4.2.0</p>

View File

@ -107,5 +107,5 @@ and tag up to the server, and deletes the <code>build/temp</code> directory.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-version &mdash; npm@4.1.2</p>
<p id="footer">npm-version &mdash; npm@4.2.0</p>

View File

@ -86,5 +86,5 @@ the field name.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-view &mdash; npm@4.1.2</p>
<p id="footer">npm-view &mdash; npm@4.2.0</p>

View File

@ -33,5 +33,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-whoami &mdash; npm@4.1.2</p>
<p id="footer">npm-whoami &mdash; npm@4.2.0</p>

View File

@ -13,7 +13,7 @@
<h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm &lt;command&gt; [args]
</code></pre><h2 id="version">VERSION</h2>
<p>4.1.2</p>
<p>4.2.0</p>
<h2 id="description">DESCRIPTION</h2>
<p>npm is the package manager for the Node JavaScript platform. It puts
modules in place so that node can find them, and manages dependency
@ -126,7 +126,7 @@ will no doubt tell you to put the output in a gist or email.</p>
<p><a href="http://blog.izs.me/">Isaac Z. Schlueter</a> ::
<a href="https://github.com/isaacs/">isaacs</a> ::
<a href="http://twitter.com/izs">@izs</a> ::
<a href="&#109;&#97;&#105;&#x6c;&#116;&#111;&#58;&#x69;&#x40;&#x69;&#122;&#x73;&#x2e;&#109;&#101;">&#x69;&#x40;&#x69;&#122;&#x73;&#x2e;&#109;&#101;</a></p>
<a href="&#x6d;&#x61;&#105;&#x6c;&#116;&#111;&#58;&#105;&#64;&#x69;&#x7a;&#115;&#x2e;&#x6d;&#x65;">&#105;&#64;&#x69;&#x7a;&#115;&#x2e;&#x6d;&#x65;</a></p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../cli/npm-help.html">npm-help(1)</a></li>
@ -150,5 +150,5 @@ will no doubt tell you to put the output in a gist or email.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm &mdash; npm@4.1.2</p>
<p id="footer">npm &mdash; npm@4.2.0</p>

View File

@ -182,5 +182,5 @@ cannot be found elsewhere. See <code><a href="../files/package.json.html">packa
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-folders &mdash; npm@4.1.2</p>
<p id="footer">npm-folders &mdash; npm@4.2.0</p>

View File

@ -182,5 +182,5 @@ cannot be found elsewhere. See <code><a href="../files/package.json.html">packa
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-folders &mdash; npm@4.1.2</p>
<p id="footer">npm-folders &mdash; npm@4.2.0</p>

View File

@ -94,7 +94,7 @@ array of license objects:</p>
<pre><code>// Not valid metadata
{ &quot;license&quot; :
{ &quot;type&quot; : &quot;ISC&quot;
, &quot;url&quot; : &quot;http://opensource.org/licenses/ISC&quot;
, &quot;url&quot; : &quot;https://opensource.org/licenses/ISC&quot;
}
}
@ -102,10 +102,10 @@ array of license objects:</p>
{ &quot;licenses&quot; :
[
{ &quot;type&quot;: &quot;MIT&quot;
, &quot;url&quot;: &quot;http://www.opensource.org/licenses/mit-license.php&quot;
, &quot;url&quot;: &quot;https://www.opensource.org/licenses/mit-license.php&quot;
}
, { &quot;type&quot;: &quot;Apache-2.0&quot;
, &quot;url&quot;: &quot;http://opensource.org/licenses/apache2.0.php&quot;
, &quot;url&quot;: &quot;https://opensource.org/licenses/apache2.0.php&quot;
}
]
}
@ -586,5 +586,5 @@ ignored.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">package.json &mdash; npm@4.1.2</p>
<p id="footer">package.json &mdash; npm@4.2.0</p>

View File

@ -85,5 +85,5 @@ manner.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npmrc &mdash; npm@4.1.2</p>
<p id="footer">npmrc &mdash; npm@4.2.0</p>

View File

@ -94,7 +94,7 @@ array of license objects:</p>
<pre><code>// Not valid metadata
{ &quot;license&quot; :
{ &quot;type&quot; : &quot;ISC&quot;
, &quot;url&quot; : &quot;http://opensource.org/licenses/ISC&quot;
, &quot;url&quot; : &quot;https://opensource.org/licenses/ISC&quot;
}
}
@ -102,10 +102,10 @@ array of license objects:</p>
{ &quot;licenses&quot; :
[
{ &quot;type&quot;: &quot;MIT&quot;
, &quot;url&quot;: &quot;http://www.opensource.org/licenses/mit-license.php&quot;
, &quot;url&quot;: &quot;https://www.opensource.org/licenses/mit-license.php&quot;
}
, { &quot;type&quot;: &quot;Apache-2.0&quot;
, &quot;url&quot;: &quot;http://opensource.org/licenses/apache2.0.php&quot;
, &quot;url&quot;: &quot;https://opensource.org/licenses/apache2.0.php&quot;
}
]
}
@ -586,5 +586,5 @@ ignored.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">package.json &mdash; npm@4.1.2</p>
<p id="footer">package.json &mdash; npm@4.2.0</p>

View File

@ -162,5 +162,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-index &mdash; npm@4.1.2</p>
<p id="footer">npm-index &mdash; npm@4.2.0</p>

View File

@ -153,5 +153,5 @@ set to anything.&quot;</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-coding-style &mdash; npm@4.1.2</p>
<p id="footer">npm-coding-style &mdash; npm@4.2.0</p>

View File

@ -497,6 +497,12 @@ programmatically, you may wish to send logs to somewhere other than
stderr.</p>
<p>If the <code>color</code> config is set to true, then this stream will receive
colored output if it is a TTY.</p>
<h3 id="logs-max">logs-max</h3>
<ul>
<li>Default: 10</li>
<li>Type: Number</li>
</ul>
<p>The maximum number of log files to store.</p>
<h3 id="long">long</h3>
<ul>
<li>Default: false</li>
@ -722,12 +728,20 @@ first on the <code>PATH</code> are different.</p>
<li>Type: String</li>
</ul>
<p>Space-separated options that are always passed to search.</p>
<h3 id="searchlimit">searchlimit</h3>
<ul>
<li>Default: 20</li>
<li>Type: Number</li>
</ul>
<p>Number of items to limit search results to. Will not apply at all to legacy
searches.</p>
<h3 id="searchstaleness">searchstaleness</h3>
<ul>
<li>Default: 900 (15 minutes)</li>
<li>Type: Number</li>
</ul>
<p>The age of the cache, in seconds, before another registry request is made.</p>
<p>The age of the cache, in seconds, before another registry request is made if
using legacy search endpoint.</p>
<h3 id="send-metrics">send-metrics</h3>
<ul>
<li>Default: false</li>
@ -887,5 +901,5 @@ exit successfully.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-config &mdash; npm@4.1.2</p>
<p id="footer">npm-config &mdash; npm@4.2.0</p>

View File

@ -194,5 +194,5 @@ from a fresh checkout.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-developers &mdash; npm@4.1.2</p>
<p id="footer">npm-developers &mdash; npm@4.2.0</p>

View File

@ -20,7 +20,7 @@ Conduct.</p>
<h2 id="tl-dr">TL;DR</h2>
<ol>
<li>Get the author email with <code>npm owner ls &lt;pkgname&gt;</code></li>
<li>Email the author, CC <a href="&#x6d;&#x61;&#x69;&#x6c;&#x74;&#x6f;&#x3a;&#115;&#x75;&#112;&#x70;&#x6f;&#114;&#116;&#64;&#110;&#112;&#x6d;&#106;&#x73;&#x2e;&#x63;&#x6f;&#x6d;">&#115;&#x75;&#112;&#x70;&#x6f;&#114;&#116;&#64;&#110;&#112;&#x6d;&#106;&#x73;&#x2e;&#x63;&#x6f;&#x6d;</a></li>
<li>Email the author, CC <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#x3a;&#x73;&#117;&#x70;&#112;&#111;&#x72;&#x74;&#64;&#x6e;&#112;&#109;&#106;&#115;&#46;&#99;&#111;&#x6d;">&#x73;&#117;&#x70;&#112;&#111;&#x72;&#x74;&#64;&#x6e;&#112;&#109;&#106;&#115;&#46;&#99;&#111;&#x6d;</a></li>
<li>After a few weeks, if there&#39;s no resolution, we&#39;ll sort it out.</li>
</ol>
<p>Don&#39;t squat on package names. Publish code or move out of the way.</p>
@ -55,12 +55,12 @@ because Yusuf&#39;s <code>foo</code> is in the way.</p>
</li>
<li>Alice emails Yusuf, explaining the situation <strong>as respectfully as possible</strong>,
and what she would like to do with the module name. She adds the npm support
staff <a href="&#109;&#x61;&#105;&#108;&#x74;&#111;&#58;&#115;&#117;&#x70;&#112;&#111;&#x72;&#x74;&#64;&#x6e;&#112;&#109;&#x6a;&#115;&#46;&#x63;&#111;&#109;">&#115;&#117;&#x70;&#112;&#111;&#x72;&#x74;&#64;&#x6e;&#112;&#109;&#x6a;&#115;&#46;&#x63;&#111;&#109;</a> to the CC list of the email. Mention in the email
staff <a href="&#109;&#97;&#x69;&#108;&#x74;&#111;&#x3a;&#x73;&#117;&#x70;&#x70;&#x6f;&#x72;&#116;&#x40;&#110;&#112;&#109;&#x6a;&#x73;&#x2e;&#x63;&#111;&#109;">&#x73;&#117;&#x70;&#x70;&#x6f;&#x72;&#116;&#x40;&#110;&#112;&#109;&#x6a;&#x73;&#x2e;&#x63;&#111;&#109;</a> to the CC list of the email. Mention in the email
that Yusuf can run npm owner <code>add alice foo</code> to add Alice as an owner of the
foo package.</li>
<li>After a reasonable amount of time, if Yusuf has not responded, or if Yusuf
and Alice can&#39;t come to any sort of resolution, email support
<a href="&#109;&#97;&#105;&#108;&#x74;&#111;&#x3a;&#x73;&#117;&#x70;&#x70;&#111;&#114;&#116;&#x40;&#110;&#112;&#109;&#x6a;&#115;&#46;&#99;&#111;&#x6d;">&#x73;&#117;&#x70;&#x70;&#111;&#114;&#116;&#x40;&#110;&#112;&#109;&#x6a;&#115;&#46;&#99;&#111;&#x6d;</a> and we&#39;ll sort it out. (&quot;Reasonable&quot; is usually at least
<a href="&#x6d;&#x61;&#105;&#x6c;&#116;&#111;&#x3a;&#x73;&#117;&#x70;&#x70;&#x6f;&#114;&#x74;&#64;&#110;&#112;&#109;&#x6a;&#x73;&#x2e;&#x63;&#111;&#x6d;">&#x73;&#117;&#x70;&#x70;&#x6f;&#114;&#x74;&#64;&#110;&#112;&#109;&#x6a;&#x73;&#x2e;&#x63;&#111;&#x6d;</a> and we&#39;ll sort it out. (&quot;Reasonable&quot; is usually at least
4 weeks.)</li>
</ol>
<h2 id="reasoning">REASONING</h2>
@ -96,12 +96,12 @@ application database or otherwise putting non-packagey things into it.</li>
<a href="https://www.npmjs.com/policies/conduct">Code of Conduct</a> such as hateful
language, pornographic content, or harassment.</li>
</ol>
<p>If you see bad behavior like this, please report it to <a href="&#109;&#97;&#105;&#108;&#x74;&#x6f;&#58;&#97;&#x62;&#117;&#115;&#x65;&#64;&#x6e;&#112;&#109;&#x6a;&#x73;&#x2e;&#99;&#x6f;&#109;">&#97;&#x62;&#117;&#115;&#x65;&#64;&#x6e;&#112;&#109;&#x6a;&#x73;&#x2e;&#99;&#x6f;&#109;</a> right
<p>If you see bad behavior like this, please report it to <a href="&#109;&#97;&#105;&#x6c;&#x74;&#x6f;&#x3a;&#97;&#98;&#117;&#x73;&#101;&#64;&#x6e;&#x70;&#x6d;&#106;&#115;&#x2e;&#x63;&#111;&#x6d;">&#97;&#98;&#117;&#x73;&#101;&#64;&#x6e;&#x70;&#x6d;&#106;&#115;&#x2e;&#x63;&#111;&#x6d;</a> right
away. <strong>You are never expected to resolve abusive behavior on your own. We are
here to help.</strong></p>
<h2 id="trademarks">TRADEMARKS</h2>
<p>If you think another npm publisher is infringing your trademark, such as by
using a confusingly similar package name, email <a href="&#x6d;&#x61;&#x69;&#108;&#x74;&#111;&#58;&#97;&#x62;&#x75;&#115;&#x65;&#64;&#x6e;&#112;&#x6d;&#106;&#115;&#46;&#x63;&#111;&#x6d;">&#97;&#x62;&#x75;&#115;&#x65;&#64;&#x6e;&#112;&#x6d;&#106;&#115;&#46;&#x63;&#111;&#x6d;</a> with a link to
using a confusingly similar package name, email <a href="&#109;&#x61;&#x69;&#x6c;&#x74;&#111;&#x3a;&#x61;&#98;&#x75;&#115;&#101;&#x40;&#x6e;&#x70;&#109;&#106;&#x73;&#46;&#x63;&#x6f;&#x6d;">&#x61;&#98;&#x75;&#115;&#101;&#x40;&#x6e;&#x70;&#109;&#106;&#x73;&#46;&#x63;&#x6f;&#x6d;</a> with a link to
the package or user account on <a href="https://npmjs.com">https://npmjs.com</a>. Attach a
copy of your trademark registration certificate.</p>
<p>If we see that the package&#39;s publisher is intentionally misleading others by
@ -134,5 +134,5 @@ License.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-disputes &mdash; npm@4.1.2</p>
<p id="footer">npm-disputes &mdash; npm@4.2.0</p>

View File

@ -162,5 +162,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-index &mdash; npm@4.1.2</p>
<p id="footer">npm-index &mdash; npm@4.2.0</p>

View File

@ -86,5 +86,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-orgs &mdash; npm@4.1.2</p>
<p id="footer">npm-orgs &mdash; npm@4.2.0</p>

View File

@ -90,5 +90,5 @@ effectively implement the entire CouchDB API anyway.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-registry &mdash; npm@4.1.2</p>
<p id="footer">npm-registry &mdash; npm@4.2.0</p>

View File

@ -12,47 +12,51 @@
<h1><a href="../misc/npm-scope.html">npm-scope</a></h1> <p>Scoped packages</p>
<h2 id="description">DESCRIPTION</h2>
<p>All npm packages have a name. Some package names also have a scope. A scope
follows the usual rules for package names (url-safe characters, no leading dots
or underscores). When used in package names, preceded by an @-symbol and
followed by a slash, e.g.</p>
follows the usual rules for package names (URL-safe characters, no leading dots
or underscores). When used in package names, scopes are preceded by an <code>@</code> symbol
and followed by a slash, e.g.</p>
<pre><code>@somescope/somepackagename
</code></pre><p>Scopes are a way of grouping related packages together, and also affect a few
things about the way npm treats the package.</p>
<p>Each npm user/organization has their own scope, and only you can add packages
in your scope. This means you don&#39;t have to worry about someone taking your
package name ahead of you. Thus it is also a good way to signal official packages
for organizations.</p>
<p>Scoped packages can be published and installed as of <code>npm@2</code> and are supported
by the primary npm registry. The npm client is backwards-compatible with
un-scoped registries, so it can be used to work with scoped and un-scoped
registries at the same time.</p>
by the primary npm registry. Unscoped packages can depend on scoped packages and
vice versa. The npm client is backwards-compatible with unscoped registries,
so it can be used to work with scoped and unscoped registries at the same time.</p>
<h2 id="installing-scoped-packages">Installing scoped packages</h2>
<p>Scoped packages are installed to a sub-folder of the regular installation
folder, e.g. if your other packages are installed in <code>node_modules/packagename</code>,
scoped modules will be in <code>node_modules/@myorg/packagename</code>. The scope folder
(<code>@myorg</code>) is simply the name of the scope preceded by an @-symbol, and can
scoped modules will be installed in <code>node_modules/@myorg/packagename</code>. The scope
folder (<code>@myorg</code>) is simply the name of the scope preceded by an <code>@</code> symbol, and can
contain any number of scoped packages.</p>
<p>A scoped package is installed by referencing it by name, preceded by an
@-symbol, in <code>npm install</code>:</p>
<code>@</code> symbol, in <code>npm install</code>:</p>
<pre><code>npm install @myorg/mypackage
</code></pre><p>Or in <code>package.json</code>:</p>
<pre><code>&quot;dependencies&quot;: {
&quot;@myorg/mypackage&quot;: &quot;^1.3.0&quot;
}
</code></pre><p>Note that if the @-symbol is omitted in either case npm will instead attempt to
</code></pre><p>Note that if the <code>@</code> symbol is omitted, in either case, npm will instead attempt to
install from GitHub; see <code><a href="../cli/npm-install.html">npm-install(1)</a></code>.</p>
<h2 id="requiring-scoped-packages">Requiring scoped packages</h2>
<p>Because scoped packages are installed into a scope folder, you have to
include the name of the scope when requiring them in your code, e.g.</p>
<pre><code>require(&#39;@myorg/mypackage&#39;)
</code></pre><p>There is nothing special about the way Node treats scope folders, this is
just specifying to require the module <code>mypackage</code> in the folder called <code>@myorg</code>.</p>
</code></pre><p>There is nothing special about the way Node treats scope folders. This
simply requires the <code>mypackage</code> module in the folder named <code>@myorg</code>.</p>
<h2 id="publishing-scoped-packages">Publishing scoped packages</h2>
<p>Scoped packages can be published from the CLI as of <code>npm@2</code> and can be
published to any registry that supports them, including the primary npm
registry.</p>
<p>(As of 2015-04-19, and with npm 2.0 or better, the primary npm registry
<strong>does</strong> support scoped packages)</p>
<strong>does</strong> support scoped packages.)</p>
<p>If you wish, you may associate a scope with a registry; see below.</p>
<h3 id="publishing-public-scoped-packages-to-the-primary-npm-registry">Publishing public scoped packages to the primary npm registry</h3>
<p>To publish a public scoped package, you must specify <code>--access public</code> with
the initial publication. This will publish the package and set access
the initial publication. This will publish the package and set access
to <code>public</code> as if you had run <code>npm access public</code> after publishing.</p>
<h3 id="publishing-private-scoped-packages-to-the-npm-registry">Publishing private scoped packages to the npm registry</h3>
<p>To publish a private scoped package to the npm registry, you must have
@ -60,7 +64,7 @@ an <a href="https://www.npmjs.com/private-modules">npm Private Modules</a>
account.</p>
<p>You can then publish the module with <code>npm publish</code> or <code>npm publish
--access restricted</code>, and it will be present in the npm registry, with
restricted access. You can then change the access permissions, if
restricted access. You can then change the access permissions, if
desired, with <code>npm access</code> or on the npmjs.com website.</p>
<h2 id="associating-a-scope-with-a-registry">Associating a scope with a registry</h2>
<p>Scopes can be associated with a separate registry. This allows you to
@ -81,6 +85,7 @@ that registry instead.</p>
<li><a href="../cli/npm-install.html">npm-install(1)</a></li>
<li><a href="../cli/npm-publish.html">npm-publish(1)</a></li>
<li><a href="../cli/npm-access.html">npm-access(1)</a></li>
<li><a href="../misc/npm-registry.html">npm-registry(7)</a></li>
</ul>
</div>
@ -94,5 +99,5 @@ that registry instead.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-scope &mdash; npm@4.1.2</p>
<p id="footer">npm-scope &mdash; npm@4.2.0</p>

View File

@ -237,5 +237,5 @@ scripts is for compilation which must be done on the target architecture.</li>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-scripts &mdash; npm@4.1.2</p>
<p id="footer">npm-scripts &mdash; npm@4.2.0</p>

View File

@ -57,5 +57,5 @@ modules. To track those down, you can do the following:</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">removing-npm &mdash; npm@4.1.2</p>
<p id="footer">removing-npm &mdash; npm@4.2.0</p>

View File

@ -325,5 +325,5 @@ range, use the <code>satisfies(version, range)</code> function.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">semver &mdash; npm@4.1.2</p>
<p id="footer">semver &mdash; npm@4.2.0</p>

View File

@ -164,6 +164,7 @@ Object.defineProperty(exports, 'defaults', {get: function () {
'local-address': undefined,
loglevel: 'warn',
logstream: process.stderr,
'logs-max': 10,
long: false,
maxsockets: 50,
message: '%s',
@ -196,6 +197,7 @@ Object.defineProperty(exports, 'defaults', {get: function () {
'scripts-prepend-node-path': 'warn-only',
searchopts: '',
searchexclude: null,
searchlimit: 20,
searchstaleness: 15 * 60,
'send-metrics': false,
shell: osenv.shell(),
@ -278,6 +280,7 @@ exports.types = {
'local-address': getLocalAddresses(),
loglevel: ['silent', 'error', 'warn', 'http', 'info', 'verbose', 'silly'],
logstream: Stream,
'logs-max': Number,
long: Boolean,
maxsockets: Number,
message: String,
@ -305,6 +308,7 @@ exports.types = {
'scripts-prepend-node-path': [false, true, 'auto', 'warn-only'],
searchopts: String,
searchexclude: [null, String],
searchlimit: Number,
searchstaleness: Number,
'send-metrics': Boolean,
shell: String,

View File

@ -98,7 +98,7 @@ function makePretty (p) {
if (ping !== 'ok') list[0][2] = 'Check your internet connection'
if (!semver.satisfies(npmV, '>=' + npmLTS)) list[1][2] = 'Use npm v' + npmLTS
if (!semver.satisfies(nodeV, '>=' + nodeLTS)) list[2][2] = 'Use node v' + nodeLTS
if (registry !== defaultRegistry) list[3][2] = 'Try `npm config set registry ' + defaultRegistry
if (registry !== defaultRegistry) list[3][2] = 'Try `npm config set registry ' + defaultRegistry + '`'
if (whichGit === 'not installed') list[4][2] = 'Install git and ensure it\'s in your PATH.'
if (readbleCaches !== 'ok') list[5][2] = 'Check the permissions of your files in ' + npm.config.get('cache')
if (executableGlobalModules !== 'ok') list[6][2] = globalNodeModules + ' must be readable and writable by the current user.'

View File

@ -5,7 +5,7 @@ fetch-package-metadata
fetchPackageMetadata(spec, contextdir, callback)
This will get package metadata (and if possible, ONLY package metadata) for
a specifer as passed to `npm install` et al, eg `npm@next` or `npm@^2.0.3`
a specifier as passed to `npm install` et al, eg `npm@next` or `npm@^2.0.3`
## fetchPackageMetadata(*spec*, *contextdir*, *tracker*, *callback*)
@ -29,7 +29,7 @@ a specifer as passed to `npm install` et al, eg `npm@next` or `npm@^2.0.3`
In the case of tarballs and git repos, it will use the cache to download
them in order to get the package metadata. For named packages, only the
metadata is downloaded (eg http://registry.npmjs.org/package). For local
metadata is downloaded (eg https://registry.npmjs.org/package). For local
directories, the package.json is read directly. For local tarballs, the
tarball is streamed in memory and just the package.json is extracted from
it. (Due to the nature of tars, having the package.json early in the file

15
deps/npm/lib/npm.js vendored
View File

@ -29,6 +29,8 @@
var path = require('path')
var abbrev = require('abbrev')
var which = require('which')
var glob = require('glob')
var rimraf = require('rimraf')
var CachingRegClient = require('./cache/caching-client.js')
var parseJSON = require('./utils/parse-json.js')
var aliases = require('./config/cmd-list').aliases
@ -286,8 +288,21 @@
log.disableProgress()
}
glob(path.resolve(npm.cache, '_logs', '*-debug.log'), function (er, files) {
if (er) return cb(er)
while (files.length >= npm.config.get('logs-max')) {
rimraf.sync(files[0])
files.splice(0, 1)
}
})
log.resume()
// at this point the configs are all set.
// go ahead and spin up the registry client.
npm.registry = new CachingRegClient(npm.config)
var umask = npm.config.get('umask')
npm.modes = {
exec: parseInt('0777', 8) & (~umask),

View File

@ -3,8 +3,8 @@
module.exports = exports = search
var npm = require('./npm.js')
var allPackageMetadata = require('./search/all-package-metadata.js')
var packageFilter = require('./search/package-filter.js')
var allPackageSearch = require('./search/all-package-search')
var esearch = require('./search/esearch.js')
var formatPackageStream = require('./search/format-package-stream.js')
var usage = require('./utils/usage')
var output = require('./utils/output.js')
@ -21,33 +21,44 @@ search.completion = function (opts, cb) {
}
function search (args, cb) {
var staleness = npm.config.get('searchstaleness')
var include = prepareIncludes(args, npm.config.get('searchopts'))
if (include.length === 0) {
return cb(new Error('search must be called with arguments'))
var searchOpts = {
description: npm.config.get('description'),
exclude: prepareExcludes(npm.config.get('searchexclude')),
include: prepareIncludes(args, npm.config.get('searchopts')),
limit: npm.config.get('searchlimit'),
log: log,
staleness: npm.config.get('searchstaleness'),
unicode: npm.config.get('unicode')
}
var exclude = prepareExcludes(npm.config.get('searchexclude'))
if (searchOpts.include.length === 0) {
return cb(new Error('search must be called with arguments'))
}
// Used later to figure out whether we had any packages go out
var anyOutput = false
// Get a stream with *all* the packages. This takes care of dealing
// with the local cache as well, but that's an internal detail.
var allEntriesStream = allPackageMetadata(staleness)
var entriesStream = ms.through.obj()
// Grab a stream that filters those packages according to given params.
var searchSection = (npm.config.get('unicode') ? '🤔 ' : '') + 'search'
var filterStream = streamFilter(function (pkg) {
log.gauge.pulse('search')
log.gauge.show({section: searchSection, logline: 'scanning ' + pkg.name})
// Simply 'true' if the package matches search parameters.
var match = packageFilter(pkg, include, exclude, {
description: npm.config.get('description')
var esearchWritten = false
esearch(searchOpts).on('data', function (pkg) {
entriesStream.write(pkg)
!esearchWritten && (esearchWritten = true)
}).on('error', function (e) {
if (esearchWritten) {
// If esearch errored after already starting output, we can't fall back.
return entriesStream.emit('error', e)
}
log.warn('search', 'fast search endpoint errored. Using old search.')
allPackageSearch(searchOpts).on('data', function (pkg) {
entriesStream.write(pkg)
}).on('error', function (e) {
entriesStream.emit('error', e)
}).on('end', function () {
entriesStream.end()
})
if (match) { anyOutput = true }
return match
}).on('end', function () {
entriesStream.end()
})
// Grab a configured output stream that will spit out packages in the
@ -61,16 +72,17 @@ function search (args, cb) {
color: npm.color
})
outputStream.on('data', function (chunk) {
if (!anyOutput) { anyOutput = true }
output(chunk.toString('utf8'))
})
log.silly('search', 'searching packages')
ms.pipe(allEntriesStream, filterStream, outputStream, function (er) {
ms.pipe(entriesStream, outputStream, function (er) {
if (er) return cb(er)
if (!anyOutput && !npm.config.get('json') && !npm.config.get('parseable')) {
output('No matches found for ' + (args.map(JSON.stringify).join(' ')))
}
log.silly('search', 'index search completed')
log.silly('search', 'search completed')
log.clearProgress()
cb(null, {})
})
@ -94,12 +106,3 @@ function prepareExcludes (searchexclude) {
return s.toLowerCase()
})
}
function streamFilter (filter) {
return ms.through.obj(function (chunk, enc, cb) {
if (filter(chunk)) {
this.push(chunk)
}
cb()
})
}

View File

@ -14,6 +14,7 @@ var writeStreamAtomic = require('fs-write-stream-atomic')
var ms = require('mississippi')
var sortedUnionStream = require('sorted-union-stream')
var once = require('once')
var gunzip = require('../utils/gunzip-maybe')
// Returns a sorted stream of all package metadata. Internally, takes care of
// maintaining its metadata cache and making partial or full remote requests,
@ -153,6 +154,7 @@ function createEntryUpdateStream (all, auth, staleness, latest, cb) {
ms.through(function (chunk, enc, cb) {
cb(null, chunk)
}),
gunzip(),
jsonstream.parse('*', function (pkg, key) {
if (key[0] === '_updated' || key[0][0] !== '_') {
return pkg

View File

@ -0,0 +1,50 @@
var ms = require('mississippi')
var allPackageMetadata = require('./all-package-metadata')
var packageFilter = require('./package-filter.js')
module.exports = allPackageSearch
function allPackageSearch (opts) {
var searchSection = (opts.unicode ? '🤔 ' : '') + 'search'
// Get a stream with *all* the packages. This takes care of dealing
// with the local cache as well, but that's an internal detail.
var allEntriesStream = allPackageMetadata(opts.staleness)
// Grab a stream that filters those packages according to given params.
var filterStream = streamFilter(function (pkg) {
opts.log.gauge.pulse('search')
opts.log.gauge.show({section: searchSection, logline: 'scanning ' + pkg.name})
// Simply 'true' if the package matches search parameters.
var match = packageFilter(pkg, opts.include, opts.exclude, {
description: opts.description
})
return match
})
return ms.pipeline.obj(allEntriesStream, filterStream)
}
function streamFilter (filter) {
return ms.through.obj(function (data, enc, cb) {
if (filter(data)) {
this.push(standardizePkg(data))
}
cb()
})
}
function standardizePkg (data) {
return {
name: data.name,
description: data.description,
maintainers: (data.maintainers || []).map(function (m) {
return { username: m.name, email: m.email }
}),
keywords: data.keywords || [],
version: Object.keys(data.versions || {})[0] || [],
date: (
data.time &&
data.time.modified &&
new Date(data.time.modified)
) || null
}
}

64
deps/npm/lib/search/esearch.js vendored Normal file
View File

@ -0,0 +1,64 @@
'use strict'
var npm = require('../npm.js')
var log = require('npmlog')
var mapToRegistry = require('../utils/map-to-registry.js')
var jsonstream = require('JSONStream')
var ms = require('mississippi')
var gunzip = require('../utils/gunzip-maybe')
module.exports = esearch
function esearch (opts) {
var stream = ms.through.obj()
mapToRegistry('-/v1/search', npm.config, function (er, uri, auth) {
if (er) return stream.emit('error', er)
createResultStream(uri, auth, opts, function (err, resultStream) {
if (err) return stream.emit('error', err)
ms.pipeline.obj(resultStream, stream)
})
})
return stream
}
function createResultStream (uri, auth, opts, cb) {
log.verbose('esearch', 'creating remote entry stream')
var params = {
timeout: 600,
follow: true,
staleOk: true,
auth: auth,
streaming: true
}
var q = buildQuery(opts)
npm.registry.request(uri + '?text=' + encodeURIComponent(q) + '&size=' + opts.limit, params, function (err, res) {
if (err) return cb(err)
log.silly('esearch', 'request stream opened, code:', res.statusCode)
// NOTE - The stream returned by `request` seems to be very persnickety
// and this is almost a magic incantation to get it to work.
// Modify how `res` is used here at your own risk.
var entryStream = ms.pipeline.obj(
res,
ms.through(function (chunk, enc, cb) {
cb(null, chunk)
}),
gunzip(),
jsonstream.parse('objects.*.package', function (data) {
return {
name: data.name,
description: data.description,
maintainers: data.maintainers,
keywords: data.keywords,
version: data.version,
date: data.date ? new Date(data.date) : null
}
})
)
return cb(null, entryStream)
})
}
function buildQuery (opts) {
return opts.include.join(' ')
}

View File

@ -4,6 +4,20 @@ var ms = require('mississippi')
var jsonstream = require('JSONStream')
var columnify = require('columnify')
// This module consumes package data in the following format:
//
// {
// name: String,
// description: String,
// maintainers: [{ username: String, email: String }],
// keywords: String | [String],
// version: String,
// date: Date // can be null,
// }
//
// The returned stream will format this package data
// into a byte stream of formatted, displayable output.
module.exports = formatPackageStream
function formatPackageStream (opts) {
opts = opts || {}
@ -33,26 +47,7 @@ function prettify (data, num, opts) {
opts = opts || {}
var truncate = !opts.long
var dat = stripData(data, opts)
dat.author = dat.maintainers
delete dat.maintainers
dat.date = dat.time
delete dat.time
// split keywords on whitespace or ,
if (typeof dat.keywords === 'string') {
dat.keywords = dat.keywords.split(/[,\s]+/)
}
if (Array.isArray(dat.keywords)) {
dat.keywords = dat.keywords.join(' ')
}
// split author on whitespace or ,
if (typeof dat.author === 'string') {
dat.author = dat.author.split(/[,\s]+/)
}
if (Array.isArray(dat.author)) {
dat.author = dat.author.join(' ')
}
var pkg = normalizePackage(data, opts)
var columns = opts.description
? ['name', 'description', 'author', 'date', 'version', 'keywords']
@ -60,12 +55,12 @@ function prettify (data, num, opts) {
if (opts.parseable) {
return columns.map(function (col) {
return dat[col] && ('' + dat[col]).replace(/\t/g, ' ')
return pkg[col] && ('' + pkg[col]).replace(/\t/g, ' ')
}).join('\t')
}
var output = columnify(
[dat],
[pkg],
{
include: columns,
showHeaders: num <= 1,
@ -153,20 +148,22 @@ function highlightSearchTerms (str, terms) {
return colorize(str).trim()
}
function stripData (data, opts) {
function normalizePackage (data, opts) {
opts = opts || {}
return {
name: data.name,
description: opts.description ? data.description : '',
maintainers: (data.maintainers || []).map(function (m) {
return '=' + m.name
}),
url: !Object.keys(data.versions || {}).length ? data.url : null,
keywords: data.keywords || [],
author: (data.maintainers || []).map(function (m) {
return '=' + m.username
}).join(' '),
keywords: Array.isArray(data.keywords)
? data.keywords.join(' ')
: typeof data.keywords === 'string'
? data.keywords.replace(/[,\s]+/, ' ')
: '',
version: Object.keys(data.versions || {})[0] || [],
time: data.time &&
data.time.modified &&
(new Date(data.time.modified).toISOString() // remove time
date: data.date &&
(data.date.toISOString() // remove time
.split('T').join(' ')
.replace(/:[0-9]{2}\.[0-9]{3}Z$/, ''))
.slice(0, -5) ||

View File

@ -14,6 +14,15 @@ var chain = require('slide').chain
var writeStreamAtomic = require('fs-write-stream-atomic')
var errorMessage = require('./error-message.js')
var stopMetrics = require('./metrics.js').stop
var mkdir = require('mkdirp')
var logFileName
function getLogFile () {
if (!logFileName) {
logFileName = path.resolve(npm.config.get('cache'), '_logs', (new Date()).toISOString().replace(/[.:]/g, '_') + '-debug.log')
}
return logFileName
}
process.on('exit', function (code) {
log.disableProgress()
@ -37,7 +46,7 @@ process.on('exit', function (code) {
'',
[
'Please include the following file with any support request:',
' ' + path.resolve('npm-debug.log')
' ' + getLogFile()
].join('\n')
)
wroteLogFile = false
@ -79,7 +88,7 @@ function exit (code, noLog) {
else writeLogFile(reallyExit.bind(this, er))
} else {
if (!noLog && code) writeLogFile(reallyExit)
else rm('npm-debug.log', reallyExit)
else rm(getLogFile(), reallyExit)
}
})
rollbacks.length = 0
@ -191,22 +200,26 @@ function writeLogFile (cb) {
writingLogFile = true
wroteLogFile = true
var fstr = writeStreamAtomic('npm-debug.log')
var os = require('os')
var out = ''
log.record.forEach(function (m) {
var pref = [m.id, m.level]
if (m.prefix) pref.push(m.prefix)
pref = pref.join(' ')
mkdir(path.resolve(npm.config.get('cache'), '_logs'), function (er) {
if (er) {
cb(er)
return
}
var fstr = writeStreamAtomic(getLogFile())
log.record.forEach(function (m) {
var pref = [m.id, m.level]
if (m.prefix) pref.push(m.prefix)
pref = pref.join(' ')
m.message.trim().split(/\r?\n/).map(function (line) {
return (pref + ' ' + line).trim()
}).forEach(function (line) {
out += line + os.EOL
m.message.trim().split(/\r?\n/).map(function (line) {
return (pref + ' ' + line).trim()
}).forEach(function (line) {
fstr.write(line + os.EOL)
})
})
fstr.end()
fstr.on('close', cb)
})
fstr.end(out)
fstr.on('close', cb)
}

22
deps/npm/lib/utils/gunzip-maybe.js vendored Normal file
View File

@ -0,0 +1,22 @@
var duplex = require('mississippi').duplex
var through = require('mississippi').through
var zlib = require('zlib')
function hasGzipHeader (c) {
return c[0] === 0x1F && c[1] === 0x8B && c[2] === 0x08
}
module.exports = gunzip
function gunzip () {
var stream = duplex()
var peeker = through(function (chunk, enc, cb) {
var newStream = hasGzipHeader(chunk)
? zlib.createGunzip()
: through()
stream.setReadable(newStream)
stream.setWritable(newStream)
stream.write(chunk)
})
stream.setWritable(peeker)
return stream
}

View File

@ -277,6 +277,7 @@ function runCmd_ (cmd, pkg, env, wd, stage, unsafe, uid, gid, cb_) {
process.kill(process.pid, signal)
} else if (code) {
var er = new Error('Exit status ' + code)
er.errno = code
}
procError(er)
})

View File

@ -1,4 +1,4 @@
.TH "NPM" "1" "January 2017" "" ""
.TH "NPM" "1" "February 2017" "" ""
.SH "NAME"
\fBnpm\fR \- a JavaScript package manager
.P
@ -10,9 +10,9 @@ This is just enough info to get you up and running\.
Much more info available via \fBnpm help\fP once it's installed\.
.SH IMPORTANT
.P
\fBYou need node v0\.10 or higher to run this program\.\fR
\fBYou need node v4 or higher to run this program\.\fR
.P
To install an old \fBand unsupported\fR version of npm that works on node 0\.3
To install an old \fBand unsupported\fR version of npm that works on node v0\.12
and prior, clone the git repo and dig through the old tags and branches\.
.P
\fBnpm is configured to use npm, Inc\.'s public package registry at
@ -83,7 +83,7 @@ for testing, or running stuff without actually installing npm itself\.)
Many improvements for Windows users have been made in npm 3 \- you will have a better
experience if you run a recent version of npm\. To upgrade, either use Microsoft's
upgrade tool \fIhttps://github\.com/felixrieseberg/npm\-windows\-upgrade\fR,
download a new version of Node \fIhttp://nodejs\.org/download/\fR,
download a new version of Node \fIhttps://nodejs\.org/en/download/\fR,
or follow the Windows upgrade instructions in the
npm Troubleshooting Guide \fIhttps://github\.com/npm/npm/wiki/Troubleshooting#upgrading\-on\-windows\fR\|\.
.P

View File

@ -1,4 +1,4 @@
.TH "NPM\-ACCESS" "1" "January 2017" "" ""
.TH "NPM\-ACCESS" "1" "February 2017" "" ""
.SH "NAME"
\fBnpm-access\fR \- Set access level on published packages
.SH SYNOPSIS

View File

@ -1,4 +1,4 @@
.TH "NPM\-ADDUSER" "1" "January 2017" "" ""
.TH "NPM\-ADDUSER" "1" "February 2017" "" ""
.SH "NAME"
\fBnpm-adduser\fR \- Add a registry user account
.SH SYNOPSIS

View File

@ -1,4 +1,4 @@
.TH "NPM\-BIN" "1" "January 2017" "" ""
.TH "NPM\-BIN" "1" "February 2017" "" ""
.SH "NAME"
\fBnpm-bin\fR \- Display npm bin folder
.SH SYNOPSIS

View File

@ -1,4 +1,4 @@
.TH "NPM\-BUGS" "1" "January 2017" "" ""
.TH "NPM\-BUGS" "1" "February 2017" "" ""
.SH "NAME"
\fBnpm-bugs\fR \- Bugs for a package in a web browser maybe
.SH SYNOPSIS

View File

@ -1,4 +1,4 @@
.TH "NPM\-BUILD" "1" "January 2017" "" ""
.TH "NPM\-BUILD" "1" "February 2017" "" ""
.SH "NAME"
\fBnpm-build\fR \- Build a package
.SH SYNOPSIS

View File

@ -1,4 +1,4 @@
.TH "NPM\-BUNDLE" "1" "January 2017" "" ""
.TH "NPM\-BUNDLE" "1" "February 2017" "" ""
.SH "NAME"
\fBnpm-bundle\fR \- REMOVED
.SH DESCRIPTION

View File

@ -1,4 +1,4 @@
.TH "NPM\-CACHE" "1" "January 2017" "" ""
.TH "NPM\-CACHE" "1" "February 2017" "" ""
.SH "NAME"
\fBnpm-cache\fR \- Manipulates packages cache
.SH SYNOPSIS

View File

@ -1,4 +1,4 @@
.TH "NPM\-COMPLETION" "1" "January 2017" "" ""
.TH "NPM\-COMPLETION" "1" "February 2017" "" ""
.SH "NAME"
\fBnpm-completion\fR \- Tab Completion for npm
.SH SYNOPSIS

View File

@ -1,4 +1,4 @@
.TH "NPM\-CONFIG" "1" "January 2017" "" ""
.TH "NPM\-CONFIG" "1" "February 2017" "" ""
.SH "NAME"
\fBnpm-config\fR \- Manage the npm configuration files
.SH SYNOPSIS

View File

@ -1,4 +1,4 @@
.TH "NPM\-DEDUPE" "1" "January 2017" "" ""
.TH "NPM\-DEDUPE" "1" "February 2017" "" ""
.SH "NAME"
\fBnpm-dedupe\fR \- Reduce duplication
.SH SYNOPSIS

Some files were not shown because too many files have changed in this diff Show More