deps: upgrade npm to 4.1.1

PR-URL: https://github.com/nodejs/node/pull/10781
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
This commit is contained in:
Rebecca Turner 2017-01-12 16:58:10 -08:00 committed by Jeremiah Senkpiel
parent bfd3c7e626
commit f73bc91756
347 changed files with 4719 additions and 6788 deletions

1
deps/npm/AUTHORS vendored
View File

@ -445,3 +445,4 @@ Alex Jordan <alex@strugee.net>
Ville Lahdenvuo <tuhoojabotti@gmail.com> Ville Lahdenvuo <tuhoojabotti@gmail.com>
Natalie Wolfe <nwolfe@newrelic.com> Natalie Wolfe <nwolfe@newrelic.com>
Andrew Schmadel <aschmadel@learningobjects.com> Andrew Schmadel <aschmadel@learningobjects.com>
Jonah Moses <jonahkmoses@gmail.com>

220
deps/npm/CHANGELOG.md vendored
View File

@ -1,3 +1,216 @@
### v4.1.1 (2016-12-16)
This fixes a bug in the metrics reporting where, if you had enabled it then
installs would create a metrics reporting process, that would create a
metrics reporting process, that would… well, you get the idea. The only
way to actually kill these processes is to turn off your networking, then
on MacOS/Linux kill them with `kill -9`. Alternatively you can just reboot.
Anyway, this is a quick release to fix that bug:
* [`51c393f`](https://github.com/npm/npm/commit/51c393feff5f4908c8a9fb02baef505b1f2259be)
[#15237](https://github.com/npm/npm/pull/15237)
Don't launch a metrics sender process if we're runnning from a metrics
sender process.
([@iarna](https://github.com/iarna))
### v4.1.0 (2016-12-15)
I'm really excited about `npm@4.1.0`. I know, I know, I'm kinda overexcited
in my changelogs, but this one is GREAT. We've got a WHOLE NEW subcommand, I
mean, when was the last time you saw that? YEARS! And we have the beginnings
of usage metrics reporting. Then there's a fix for a really subtle bug that
resulted in `shasum` errors. And then we also have a few more bug fixes and
other improvements.
#### ANONYMOUS METRIC REPORTING
We're adding the ability for you all to help us track the quality of your
experiences using `npm`. Metrics will be sent if you run:
```
npm config set send-metrics true
```
Then `npm` will report to `registry.npmjs.org` the number of successful and
failed installations you've had. The data contains no identifying
information and npm will not attempt to correlate things like IP address
with the metrics being submitted.
Currently we only track number of successful and failed installations. In
the future we would like to find additional metrics to help us better
quantify the quality of the `npm` experience.
* [`190a658`](https://github.com/npm/npm/commit/190a658c4222f6aa904cbc640fc394a5c875e4db)
[#15084](https://github.com/npm/npm/pull/15084)
Add facility for recording and reporting success metrics.
([@iarna](https://github.com/iarna))
* [`87afc8b`](https://github.com/npm/npm/commit/87afc8b466f553fb49746c932c259173de48d0a4)
[npm/npm-registry-client#147](https://github.com/npm/npm-registry-client/pull/148)
`npm-registry-client@7.4.5`:
Add support for sending anonymous CLI metrics.
([@iarna](https://github.com/iarna),
[@sisidovski](https://github.com/sisidovski))
### NPM DOCTOR
<pre>
<u>Check</u> <u>Value</u> <u>Recommendation</u>
npm ping ok
npm -v v4.0.5
node -v v4.6.1 Use node v6.9.2
npm config get registry https://registry.npmjs.org/
which git /Users/rebecca/bin/git
Perms check on cached files ok
Perms check on global node_modules ok
Perms check on local node_modules ok
Checksum cached files ok
</pre>
It's a rare day that we add a new command to `npm`, so I'm excited to
present to you `npm doctor`. It checks for a number of common problems and
provides some recommended solutions. It was put together through the hard
work of [@watilde](https://github.com/watilde).
* [`2359505`](https://github.com/npm/npm/commit/23595055669f76c9fe8f5f1cf4a705c2e794f0dc)
[`0209ee5`](https://github.com/npm/npm/commit/0209ee50448441695fbf9699019d34178b69ba73)
[#14582](https://github.com/npm/npm/pull/14582)
Add new `npm doctor` to give your project environment a health check.
([@watilde](https://github.com/watilde))
#### FIX MAJOR SOURCE OF SHASUM ERRORS
If you've been getting intermittent shasum errors then you'll be pleased to
know that we've tracked down at least one source of them, if not THE source
of them.
* [`87afc8b`](https://github.com/npm/npm/commit/87afc8b466f553fb49746c932c259173de48d0a4)
[#14626](https://github.com/npm/npm/issues/14626)
[npm/npm-registry-client#148](https://github.com/npm/npm-registry-client/pull/148)
`npm-registry-client@7.4.5`:
Fix a bug where an `ECONNRESET` while fetching a package file would result
in a partial download that would be reported as a "shasum mismatch". It
now throws away the partial download and retries it.
([@iarna](https://github.com/iarna))
#### FILE URLS AND NODE.JS 7
When `npm` was formatting `file` URLs we took advantage of `url.format` to
construct them. Node.js 7 changed the behavior in such a way that our use of
`url.format` stopped producing URLs that we could make use of.
The reasons for this have to do with the `file` URL specification and how
invalid (according to the specification) URLs are handled. How this changed
is most easily explained with a table:
<table>
<tr><th></th><th>URL</th><th>Node.js &lt;= 6</th><th><tt>npm</tt>'s understanding</th><th>Node.js 7</th><th><tt>npm</tt>'s understanding</th></tr>
<tr><td>VALID</td><td><tt>file:///abc/def</tt></td><td><tt>file:///abc/def</tt></td><td><tt>/abc/def</tt></td><td><tt>file:///abc/def</tt></td><td><tt>/abc/def</tt></td></tr>
<tr><td>invalid</td><td><tt>file:/abc/def</tt></td><td><tt>file:/abc/def</tt></td><td><tt>/abc/def</tt></td><td><tt>file:///abc/def</tt></td><td><tt>/abc/def</tt></td></tr>
<tr><td>invalid</td><td><tt>file:abc/def</tt></td><td><tt>file:abc/def</tt></td><td><tt>$CWD/abc/def</tt></td><td><tt>file://abc/def</tt></td><td><tt>/def</tt> on the <tt>abc</tt> host</td></tr>
<tr><td>invalid</td><td><tt>file:../abc/def</tt></td><td><tt>file:../abc/def</tt></td><td><tt>$CWD/../abc/def</tt></td><td><tt>file://../abc/def</tt></td><td><tt>/abc/def</tt> on the <tt>..</tt> host</td></tr>
</table>
So the result was that passing a `file` URL that npm had received that used
through Node.js 7's `url.format` changed its meaning as far as `npm` was
concerned. As those kinds of URLs are, per the specification, invalid, how
they should be handled is undefined and so the change in Node.js wasn't a
bug per se.
Our solution is to stop using `url.format` when constructing this kind of
URL.
* [`173935b`](https://github.com/npm/npm/commit/173935b4298e09c4fdcb8f3a44b06134d5aff181)
[#15114](https://github.com/npm/npm/issues/15114)
Stop using `url.format` for relative local dep paths.
([@zkat](https://github.com/zkat))
#### EXTRANEOUS LIFECYCLE SCRIPT EXECUTION WHEN REMOVING
* [`afb1dfd`](https://github.com/npm/npm/commit/afb1dfd944e57add25a05770c0d52d983dc4e96c)
[#15090](https://github.com/npm/npm/pull/15090)
Skip top level lifecycles when uninstalling.
([@iarna](https://github.com/iarna))
#### REFACTORING AND INTERNALS
* [`c9b279a`](https://github.com/npm/npm/commit/c9b279aca0fcb8d0e483e534c7f9a7250e2a9392)
[#15205](https://github.com/npm/npm/pull/15205)
[#15196](https://github.com/npm/npm/pull/15196)
Only have one function that determines which version of a package to use
given a specifier and a list of versions.
([@iarna](https://github.com/iarna),
[@zkat](https://github.com/zkat))
* [`981ce63`](https://github.com/npm/npm/commit/981ce6395e7892dde2591b44e484e191f8625431)
[#15090](https://github.com/npm/npm/pull/15090)
Rewrite prune to use modern npm plumbing.
([@iarna](https://github.com/iarna))
* [`bc4b739`](https://github.com/npm/npm/commit/bc4b73911f58a11b4a2d28b49e24b4dd7365f95b)
[#15089](https://github.com/npm/npm/pull/15089)
Rename functions and variables in the module that computes what changes to
make to your installation.
([@iarna](https://github.com/iarna))
* [`2449f74`](https://github.com/npm/npm/commit/2449f74a202b3efdb1b2f5a83356a78ea9ecbe35)
[#15089](https://github.com/npm/npm/pull/15089)
When computing changes to make to your installation, use a function to add
new actions to take instead of just pushing on a list.
([@iarna](https://github.com/iarna))
#### IMPROVED LOGGING
* [`335933a`](https://github.com/npm/npm/commit/335933a05396258eead139d27eea3f7668ccdfab)
[#15089](https://github.com/npm/npm/pull/15089)
Log when we remove obsolete dependencies in the tree.
([@iarna](https://github.com/iarna))
#### DOCUMENTATION
* [`33ca4e6`](https://github.com/npm/npm/commit/33ca4e6db3c1878cbc40d5e862ab49bb0e82cfb2)
[#15157](https://github.com/npm/npm/pull/15157)
Update `npm cache` docs to use more consistent language
([@JonahMoses](https://github.com/JonahMoses))
#### DEPENDENCY UPDATES
* [`c2d22fa`](https://github.com/npm/npm/commit/c2d22faf916e8260136a1cc95913ca474421c0d3)
[#15215](https://github.com/npm/npm/pull/15215)
`nopt@4.0.1`:
The breaking change is a small tweak to how empty string values are
handled. See the brand-new
[CHANGELOG.md for nopt](https://github.com/npm/nopt/blob/v4.0.1/CHANGELOG.md) for further
details about what's changed in this release!
([@adius](https://github.com/adius),
[@samjonester](https://github.com/samjonester),
[@elidoran](https://github.com/elidoran),
[@helio](https://github.com/helio),
[@silkentrance](https://github.com/silkentrance),
[@othiym23](https://github.com/othiym23))
* [`54d949b`](https://github.com/npm/npm/commit/54d949b05adefffeb7b5b10229c5fe0ccb929ac3)
[npm/lockfile#24](https://github.com/npm/lockfile/pull/24)
`lockfile@1.0.3`:
Handled case where callback was not passed in by the user.
([@ORESoftware](https://github.com/ORESoftware))
* [`54acc03`](https://github.com/npm/npm/commit/54acc0389b39850c0725d0868cb5e61317b57503)
`npmlog@4.0.2`:
Documentation update.
([@helio-frota](https://github.com/helio-frota))
* [`57f4bc1`](https://github.com/npm/npm/commit/57f4bc1150322294c1ea0a287ad0a8e457c151e6)
`osenv@0.1.4`:
Test changes.
([@isaacs](https://github.com/isaacs))
* [`bea1a2d`](https://github.com/npm/npm/commit/bea1a2d0db566560e13ecc1d5f42e55811269c88)
`retry@0.10.1`:
No changes.
([@tim-kos](https://github.com/tim-kos))
* [`6749e39`](https://github.com/npm/npm/commit/6749e395f868109afd97f79d36507e6567dd48fb)
[kapouer/marked-man#9](https://github.com/kapouer/marked-man/pull/9)
`marked-man@0.2.0`:
Add table support.
([@gholk](https://github.com/gholk))
### v4.0.5 (2016-12-01) ### v4.0.5 (2016-12-01)
It's that time of year! December is upon us, which means y'all are just going to It's that time of year! December is upon us, which means y'all are just going to
@ -49,13 +262,13 @@ On to the actual changes!
`EPERM` errors are Windows are now handled more gracefully. Windows users that `EPERM` errors are Windows are now handled more gracefully. Windows users that
tended to see these errors due to, say, an antivirus-induced race condition, tended to see these errors due to, say, an antivirus-induced race condition,
should see them much more rarely, if at all. should see them much more rarely, if at all.
([@Kat Marchán](https://github.com/Kat Marchán)) ([@zkatr](https://github.com/zkat))
* [`85b0174`](https://github.com/npm/npm/commit/85b0174ba9842e8e89f3c33d009e4b4a9e877c7d) * [`85b0174`](https://github.com/npm/npm/commit/85b0174ba9842e8e89f3c33d009e4b4a9e877c7d)
`request@2.79.0` `request@2.79.0`
([@Kat Marchán](https://github.com/Kat Marchán)) ([@zkat](https://github.com/zkat))
* [`9664d36`](https://github.com/npm/npm/commit/9664d36653503247737630440bc2ff657de965c3) * [`9664d36`](https://github.com/npm/npm/commit/9664d36653503247737630440bc2ff657de965c3)
`tap@8.0.1` `tap@8.0.1`
([@Kat Marchán](https://github.com/Kat Marchán)) ([@zkat](https://github.com/zkat))
#### MISCELLANEOUS #### MISCELLANEOUS
@ -596,6 +809,7 @@ sending `Npm-Scope` and `Npm-In-CI` headers in outgoing requests.
* [`846f61c`](https://github.com/npm/npm/commit/846f61c1dd4a033f77aa736ab01c27ae6724fe1c) * [`846f61c`](https://github.com/npm/npm/commit/846f61c1dd4a033f77aa736ab01c27ae6724fe1c)
[npm/npm-registry-client#145](https://github.com/npm/npm-registry-client/pull/145) [npm/npm-registry-client#145](https://github.com/npm/npm-registry-client/pull/145)
[npm/npm-registry-client#147](https://github.com/npm/npm-registry-client/pull/147)
`npm-registry-client@7.3.0`: `npm-registry-client@7.3.0`:
* Allow npm to add headers to outgoing requests. * Allow npm to add headers to outgoing requests.
* Add `Npm-In-CI` header that reports whether we're running in CI. * Add `Npm-In-CI` header that reports whether we're running in CI.

View File

@ -11,10 +11,11 @@ npm-cache(1) -- Manipulates packages cache
npm cache ls [<path>] npm cache ls [<path>]
npm cache clean [<path>] npm cache clean [<path>]
aliases: npm cache clear, npm cache rm
## DESCRIPTION ## DESCRIPTION
Used to add, list, or clear the npm cache folder. Used to add, list, or clean the npm cache folder.
* add: * add:
Add the specified package to the local cache. This command is primarily Add the specified package to the local cache. This command is primarily
@ -29,7 +30,7 @@ Used to add, list, or clear the npm cache folder.
* clean: * clean:
Delete data out of the cache folder. If an argument is provided, then Delete data out of the cache folder. If an argument is provided, then
it specifies a subpath to delete. If no argument is provided, then it specifies a subpath to delete. If no argument is provided, then
the entire cache is cleared. the entire cache is deleted.
## DETAILS ## DETAILS

102
deps/npm/doc/cli/npm-doctor.md vendored Normal file
View File

@ -0,0 +1,102 @@
npm-doctor(1) -- Check your environments
========================================================
## SYNOPSIS
npm doctor
## DESCRIPTION
`npm doctor` runs a set of checks to ensure that your npm installation has
what it needs to manage your JavaScript packages. npm is mostly a standalone tool, but it does
have some basic requirements that must be met:
+ Node.js and git must be executable by npm.
+ The primary npm registry, `registry.npmjs.com`, or another service that uses
the registry API, is available.
+ The directories that npm uses, `node_modules` (both locally and globally),
exist and can be written by the current user.
+ The npm cache exists, and the package tarballs within it aren't corrupt.
Without all of these working properly, npm may not work properly. Many issues
are often attributable to things that are outside npm's code base, so `npm
doctor` confirms that the npm installation is in a good state.
Also, in addition to this, there are also very many issue reports due to using
old versions of npm. Since npm is constantly improving, running `npm@latest` is
better than an old version.
`npm doctor` verifies the following items in your environment, and if there are
any recommended changes, it will display them.
### `npm ping`
By default, npm installs from the primary npm registry, `registry.npmjs.org`.
`npm doctor` hits a special ping endpoint within the registry. This can also be
checked with `npm ping`. If this check fails, you may be using a proxy that
needs to be configured, or may need to talk to your IT staff to get access over
HTTPS to `registry.npmjs.org`.
This check is done against whichever registry you've configured (you can see
what that is by running `npm config get registry`), and if you're using a
private registry that doesn't support the `/whoami` endpoint supported by the
primary registry, this check may fail.
### `npm -v`
While Node.js may come bundled with a particular version of npm, it's the
policy of the CLI team that we recommend all users run `npm@latest` if they
can. As the CLI is maintained by a small team of contributors, there are only
resources for a single line of development, so npm's own long-term support
releases typically only receive critical security and regression fixes. The
team believes that the latest tested version of npm is almost always likely to
be the most functional and defect-free version of npm.
### `node -v`
For most users, in most circumstances, the best version of Node will be the
latest long-term support (LTS) release. Those of you who want access to new
ECMAscript features or bleeding-edge changes to Node's standard library may be
running a newer version, and some of you may be required to run an older
version of Node because of enterprise change control policies. That's OK! But
in general, the npm team recommends that most users run Node.js LTS.
### `npm config get registry`
Some of you may be installing from private package registries for your project
or company. That's great! Others of you may be following tutorials or
StackOverflow questions in an effort to troubleshoot problems you may be
having. Sometimes, this may entail changing the registry you're pointing at.
This part of `npm doctor` just lets you, and maybe whoever's helping you with
support, know that you're not using the default registry.
### `which git`
While it's documented in the README, it may not be obvious that npm needs Git
installed to do many of the things that it does. Also, in some cases
 especially on Windows  you may have Git set up in such a way that it's not
accessible via your `PATH` so that npm can find it. This check ensures that Git
is available.
### Permissions checks
* Your cache must be readable and writable by the user running npm.
* Global package binaries must be writable by the user running npm.
* Your local `node_modules` path, if you're running `npm doctor` with a project
directory, must be readable and writable by the user running npm.
### Validate the checksums of cached packages
When an npm package is published, the publishing process generates a checksum
that npm uses at install time to verify that the package didn't get corrupted
in transit. `npm doctor` uses these checksums to validate the package tarballs
in your local cache (you can see where that cache is located with `npm config
get cache`, and see what's in that cache with `npm cache ls` probably more
than you were expecting!). In the event that there are corrupt packages in your
cache, you should probably run `npm cache clean` and reset the cache.
## SEE ALSO
* npm-bugs(1)
* npm-help(1)
* npm-ping(1)

View File

@ -600,6 +600,13 @@ Commit message which is used by `npm version` when creating version commit.
Any "%s" in the message will be replaced with the version number. Any "%s" in the message will be replaced with the version number.
### metrics-registry
* Default: "https://registry.npmjs.org/"
* Type: String
The registry you want to send cli metrics to if `send-metrics` is true.
### node-version ### node-version
* Default: process.version * Default: process.version
@ -844,6 +851,16 @@ Space-separated options that are always passed to search.
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.
### send-metrics
* Default: false
* Type: Boolean
If true, success/failure metrics will be reported to the registry stored in
`metrics-registry`. These requests contain the number of successful and
failing runs of the npm CLI and the time period overwhich those counts were
gathered. No identifying information is included in these requests.
### shell ### shell
* Default: SHELL environment variable, or "bash" on Posix, or "cmd" on * Default: SHELL environment variable, or "bash" on Posix, or "cmd" on

View File

@ -65,6 +65,10 @@ Modify package distribution tags
Docs for a package in a web browser maybe Docs for a package in a web browser maybe
### npm-doctor(1)
Check your environments
### npm-edit(1) ### npm-edit(1)
Edit an installed package Edit an installed package

View File

@ -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 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> <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> </table>
<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@4.0.5</p> <p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-access &mdash; npm@4.0.5</p> <p id="footer">npm-access &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-adduser &mdash; npm@4.0.5</p> <p id="footer">npm-adduser &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-bin &mdash; npm@4.0.5</p> <p id="footer">npm-bin &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-bugs &mdash; npm@4.0.5</p> <p id="footer">npm-bugs &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-build &mdash; npm@4.0.5</p> <p id="footer">npm-build &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-bundle &mdash; npm@4.0.5</p> <p id="footer">npm-bundle &mdash; npm@4.1.1</p>

View File

@ -19,8 +19,9 @@ npm cache add &lt;name&gt;@&lt;version&gt;
npm cache ls [&lt;path&gt;] npm cache ls [&lt;path&gt;]
npm cache clean [&lt;path&gt;] npm cache clean [&lt;path&gt;]
aliases: npm cache clear, npm cache rm
</code></pre><h2 id="description">DESCRIPTION</h2> </code></pre><h2 id="description">DESCRIPTION</h2>
<p>Used to add, list, or clear the npm cache folder.</p> <p>Used to add, list, or clean the npm cache folder.</p>
<ul> <ul>
<li><p>add: <li><p>add:
Add the specified package to the local cache. This command is primarily Add the specified package to the local cache. This command is primarily
@ -35,7 +36,7 @@ folder. Works a bit like the <code>find</code> program, but limited by the
<li><p>clean: <li><p>clean:
Delete data out of the cache folder. If an argument is provided, then Delete data out of the cache folder. If an argument is provided, then
it specifies a subpath to delete. If no argument is provided, then it specifies a subpath to delete. If no argument is provided, then
the entire cache is cleared.</p> the entire cache is deleted.</p>
</li> </li>
</ul> </ul>
<h2 id="details">DETAILS</h2> <h2 id="details">DETAILS</h2>
@ -81,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 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> <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> </table>
<p id="footer">npm-cache &mdash; npm@4.0.5</p> <p id="footer">npm-cache &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-completion &mdash; npm@4.0.5</p> <p id="footer">npm-completion &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-config &mdash; npm@4.0.5</p> <p id="footer">npm-config &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-dedupe &mdash; npm@4.0.5</p> <p id="footer">npm-dedupe &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-deprecate &mdash; npm@4.0.5</p> <p id="footer">npm-deprecate &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-dist-tag &mdash; npm@4.0.5</p> <p id="footer">npm-dist-tag &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-docs &mdash; npm@4.0.5</p> <p id="footer">npm-docs &mdash; npm@4.1.1</p>

106
deps/npm/html/doc/cli/npm-doctor.html vendored Normal file
View File

@ -0,0 +1,106 @@
<!doctype html>
<html>
<title>npm-doctor</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
<link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-doctor.html">
<script async=true src="../../static/toc.js"></script>
<body>
<div id="wrapper">
<h1><a href="../cli/npm-doctor.html">npm-doctor</a></h1> <p>Check your environments</p>
<h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm doctor
</code></pre><h2 id="description">DESCRIPTION</h2>
<p><code>npm doctor</code> runs a set of checks to ensure that your npm installation has
what it needs to manage your JavaScript packages. npm is mostly a standalone tool, but it does
have some basic requirements that must be met:</p>
<ul>
<li>Node.js and git must be executable by npm.</li>
<li>The primary npm registry, <code>registry.npmjs.com</code>, or another service that uses
the registry API, is available.</li>
<li>The directories that npm uses, <code>node_modules</code> (both locally and globally),
exist and can be written by the current user.</li>
<li>The npm cache exists, and the package tarballs within it aren&#39;t corrupt.</li>
</ul>
<p>Without all of these working properly, npm may not work properly. Many issues
are often attributable to things that are outside npm&#39;s code base, so <code>npm
doctor</code> confirms that the npm installation is in a good state.</p>
<p>Also, in addition to this, there are also very many issue reports due to using
old versions of npm. Since npm is constantly improving, running <code>npm@latest</code> is
better than an old version.</p>
<p><code>npm doctor</code> verifies the following items in your environment, and if there are
any recommended changes, it will display them.</p>
<h3 id="-npm-ping-"><code>npm ping</code></h3>
<p>By default, npm installs from the primary npm registry, <code>registry.npmjs.org</code>.
<code>npm doctor</code> hits a special ping endpoint within the registry. This can also be
checked with <code>npm ping</code>. If this check fails, you may be using a proxy that
needs to be configured, or may need to talk to your IT staff to get access over
HTTPS to <code>registry.npmjs.org</code>.</p>
<p>This check is done against whichever registry you&#39;ve configured (you can see
what that is by running <code>npm config get registry</code>), and if you&#39;re using a
private registry that doesn&#39;t support the <code>/whoami</code> endpoint supported by the
primary registry, this check may fail.</p>
<h3 id="-npm-v-"><code>npm -v</code></h3>
<p>While Node.js may come bundled with a particular version of npm, it&#39;s the
policy of the CLI team that we recommend all users run <code>npm@latest</code> if they
can. As the CLI is maintained by a small team of contributors, there are only
resources for a single line of development, so npm&#39;s own long-term support
releases typically only receive critical security and regression fixes. The
team believes that the latest tested version of npm is almost always likely to
be the most functional and defect-free version of npm.</p>
<h3 id="-node-v-"><code>node -v</code></h3>
<p>For most users, in most circumstances, the best version of Node will be the
latest long-term support (LTS) release. Those of you who want access to new
ECMAscript features or bleeding-edge changes to Node&#39;s standard library may be
running a newer version, and some of you may be required to run an older
version of Node because of enterprise change control policies. That&#39;s OK! But
in general, the npm team recommends that most users run Node.js LTS.</p>
<h3 id="-npm-config-get-registry-"><code>npm config get registry</code></h3>
<p>Some of you may be installing from private package registries for your project
or company. That&#39;s great! Others of you may be following tutorials or
StackOverflow questions in an effort to troubleshoot problems you may be
having. Sometimes, this may entail changing the registry you&#39;re pointing at.
This part of <code>npm doctor</code> just lets you, and maybe whoever&#39;s helping you with
support, know that you&#39;re not using the default registry.</p>
<h3 id="-which-git-"><code>which git</code></h3>
<p>While it&#39;s documented in the <a href="../../doc/README.html">README</a>, it may not be obvious that npm needs Git
installed to do many of the things that it does. Also, in some cases
especially on Windows you may have Git set up in such a way that it&#39;s not
accessible via your <code>PATH</code> so that npm can find it. This check ensures that Git
is available.</p>
<h3 id="permissions-checks">Permissions checks</h3>
<ul>
<li>Your cache must be readable and writable by the user running npm.</li>
<li>Global package binaries must be writable by the user running npm.</li>
<li>Your local <code>node_modules</code> path, if you&#39;re running <code>npm doctor</code> with a project
directory, must be readable and writable by the user running npm.</li>
</ul>
<h3 id="validate-the-checksums-of-cached-packages">Validate the checksums of cached packages</h3>
<p>When an npm package is published, the publishing process generates a checksum
that npm uses at install time to verify that the package didn&#39;t get corrupted
in transit. <code>npm doctor</code> uses these checksums to validate the package tarballs
in your local cache (you can see where that cache is located with <code>npm config
get cache</code>, and see what&#39;s in that cache with <code>npm cache ls</code> probably more
than you were expecting!). In the event that there are corrupt packages in your
cache, you should probably run <code>npm cache clean</code> and reset the cache.</p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../cli/npm-bugs.html">npm-bugs(1)</a></li>
<li><a href="../cli/npm-help.html">npm-help(1)</a></li>
<li><a href="../cli/npm-ping.html">npm-ping(1)</a></li>
</ul>
</div>
<table border=0 cellspacing=0 cellpadding=0 id=npmlogo>
<tr><td style="width:180px;height:10px;background:rgb(237,127,127)" colspan=18>&nbsp;</td></tr>
<tr><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td><td style="width:40px;height:10px;background:#fff" colspan=4>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4>&nbsp;</td><td style="width:40px;height:10px;background:#fff" colspan=4>&nbsp;</td><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td><td colspan=6 style="width:60px;height:10px;background:#fff">&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4>&nbsp;</td></tr>
<tr><td colspan=2 style="width:20px;height:30px;background:#fff" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:20px;height:10px;background:#fff" rowspan=4 colspan=2>&nbsp;</td><td style="width:10px;height:20px;background:rgb(237,127,127)" rowspan=2>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:20px;height:10px;background:#fff" rowspan=3 colspan=2>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td></tr>
<tr><td style="width:10px;height:10px;background:#fff" rowspan=2>&nbsp;</td></tr>
<tr><td style="width:10px;height:10px;background:#fff">&nbsp;</td></tr>
<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.1</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 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> <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> </table>
<p id="footer">npm-edit &mdash; npm@4.0.5</p> <p id="footer">npm-edit &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-explore &mdash; npm@4.0.5</p> <p id="footer">npm-explore &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-help-search &mdash; npm@4.0.5</p> <p id="footer">npm-help-search &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-help &mdash; npm@4.0.5</p> <p id="footer">npm-help &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-init &mdash; npm@4.0.5</p> <p id="footer">npm-init &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-install-test &mdash; npm@4.0.5</p> <p id="footer">npm-install-test &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-install &mdash; npm@4.0.5</p> <p id="footer">npm-install &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-link &mdash; npm@4.0.5</p> <p id="footer">npm-link &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-logout &mdash; npm@4.0.5</p> <p id="footer">npm-logout &mdash; npm@4.1.1</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 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. 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> For example, running <code>npm ls promzard</code> in npm&#39;s source tree will show:</p>
<pre><code>npm@4.0.5 /path/to/npm <pre><code>npm@4.1.1 /path/to/npm
└─┬ init-package-json@0.0.4 └─┬ init-package-json@0.0.4
└── promzard@0.1.5 └── promzard@0.1.5
</code></pre><p>It will print out extraneous, missing, and invalid packages.</p> </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 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> <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> </table>
<p id="footer">npm-ls &mdash; npm@4.0.5</p> <p id="footer">npm-ls &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-outdated &mdash; npm@4.0.5</p> <p id="footer">npm-outdated &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-owner &mdash; npm@4.0.5</p> <p id="footer">npm-owner &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-pack &mdash; npm@4.0.5</p> <p id="footer">npm-pack &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-ping &mdash; npm@4.0.5</p> <p id="footer">npm-ping &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-prefix &mdash; npm@4.0.5</p> <p id="footer">npm-prefix &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-prune &mdash; npm@4.0.5</p> <p id="footer">npm-prune &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-publish &mdash; npm@4.0.5</p> <p id="footer">npm-publish &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-rebuild &mdash; npm@4.0.5</p> <p id="footer">npm-rebuild &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-repo &mdash; npm@4.0.5</p> <p id="footer">npm-repo &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-restart &mdash; npm@4.0.5</p> <p id="footer">npm-restart &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-root &mdash; npm@4.0.5</p> <p id="footer">npm-root &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-run-script &mdash; npm@4.0.5</p> <p id="footer">npm-run-script &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-search &mdash; npm@4.0.5</p> <p id="footer">npm-search &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-shrinkwrap &mdash; npm@4.0.5</p> <p id="footer">npm-shrinkwrap &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-star &mdash; npm@4.0.5</p> <p id="footer">npm-star &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-stars &mdash; npm@4.0.5</p> <p id="footer">npm-stars &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-start &mdash; npm@4.0.5</p> <p id="footer">npm-start &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-stop &mdash; npm@4.0.5</p> <p id="footer">npm-stop &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-team &mdash; npm@4.0.5</p> <p id="footer">npm-team &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-test &mdash; npm@4.0.5</p> <p id="footer">npm-test &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-uninstall &mdash; npm@4.0.5</p> <p id="footer">npm-uninstall &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-unpublish &mdash; npm@4.0.5</p> <p id="footer">npm-unpublish &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-update &mdash; npm@4.0.5</p> <p id="footer">npm-update &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-version &mdash; npm@4.0.5</p> <p id="footer">npm-version &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-view &mdash; npm@4.0.5</p> <p id="footer">npm-view &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-whoami &mdash; npm@4.0.5</p> <p id="footer">npm-whoami &mdash; npm@4.1.1</p>

View File

@ -13,7 +13,7 @@
<h2 id="synopsis">SYNOPSIS</h2> <h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm &lt;command&gt; [args] <pre><code>npm &lt;command&gt; [args]
</code></pre><h2 id="version">VERSION</h2> </code></pre><h2 id="version">VERSION</h2>
<p>4.0.5</p> <p>4.1.1</p>
<h2 id="description">DESCRIPTION</h2> <h2 id="description">DESCRIPTION</h2>
<p>npm is the package manager for the Node JavaScript platform. It puts <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 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> :: <p><a href="http://blog.izs.me/">Isaac Z. Schlueter</a> ::
<a href="https://github.com/isaacs/">isaacs</a> :: <a href="https://github.com/isaacs/">isaacs</a> ::
<a href="http://twitter.com/izs">@izs</a> :: <a href="http://twitter.com/izs">@izs</a> ::
<a href="&#109;&#x61;&#x69;&#108;&#x74;&#x6f;&#58;&#x69;&#x40;&#x69;&#x7a;&#x73;&#x2e;&#x6d;&#x65;">&#x69;&#x40;&#x69;&#x7a;&#x73;&#x2e;&#x6d;&#x65;</a></p> <a href="&#x6d;&#97;&#105;&#x6c;&#x74;&#x6f;&#x3a;&#x69;&#x40;&#x69;&#122;&#115;&#x2e;&#x6d;&#101;">&#x69;&#x40;&#x69;&#122;&#115;&#x2e;&#x6d;&#101;</a></p>
<h2 id="see-also">SEE ALSO</h2> <h2 id="see-also">SEE ALSO</h2>
<ul> <ul>
<li><a href="../cli/npm-help.html">npm-help(1)</a></li> <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 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> <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> </table>
<p id="footer">npm &mdash; npm@4.0.5</p> <p id="footer">npm &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-folders &mdash; npm@4.0.5</p> <p id="footer">npm-folders &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-folders &mdash; npm@4.0.5</p> <p id="footer">npm-folders &mdash; npm@4.1.1</p>

View File

@ -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 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> <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> </table>
<p id="footer">package.json &mdash; npm@4.0.5</p> <p id="footer">package.json &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npmrc &mdash; npm@4.0.5</p> <p id="footer">npmrc &mdash; npm@4.1.1</p>

View File

@ -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 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> <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> </table>
<p id="footer">package.json &mdash; npm@4.0.5</p> <p id="footer">package.json &mdash; npm@4.1.1</p>

View File

@ -42,6 +42,8 @@
<p>Modify package distribution tags</p> <p>Modify package distribution tags</p>
<h3 id="npm-docs-1-"><a href="cli/npm-docs.html">npm-docs(1)</a></h3> <h3 id="npm-docs-1-"><a href="cli/npm-docs.html">npm-docs(1)</a></h3>
<p>Docs for a package in a web browser maybe</p> <p>Docs for a package in a web browser maybe</p>
<h3 id="npm-doctor-1-"><a href="cli/npm-doctor.html">npm-doctor(1)</a></h3>
<p>Check your environments</p>
<h3 id="npm-edit-1-"><a href="cli/npm-edit.html">npm-edit(1)</a></h3> <h3 id="npm-edit-1-"><a href="cli/npm-edit.html">npm-edit(1)</a></h3>
<p>Edit an installed package</p> <p>Edit an installed package</p>
<h3 id="npm-explore-1-"><a href="cli/npm-explore.html">npm-explore(1)</a></h3> <h3 id="npm-explore-1-"><a href="cli/npm-explore.html">npm-explore(1)</a></h3>
@ -160,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 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> <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> </table>
<p id="footer">npm-index &mdash; npm@4.0.5</p> <p id="footer">npm-index &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-coding-style &mdash; npm@4.0.5</p> <p id="footer">npm-coding-style &mdash; npm@4.1.1</p>

View File

@ -517,6 +517,12 @@ combination). Passed to the <code>http</code> <code>Agent</code> used to make th
</ul> </ul>
<p>Commit message which is used by <code>npm version</code> when creating version commit.</p> <p>Commit message which is used by <code>npm version</code> when creating version commit.</p>
<p>Any &quot;%s&quot; in the message will be replaced with the version number.</p> <p>Any &quot;%s&quot; in the message will be replaced with the version number.</p>
<h3 id="metrics-registry">metrics-registry</h3>
<ul>
<li>Default: &quot;<a href="https://registry.npmjs.org/">https://registry.npmjs.org/</a>&quot;</li>
<li>Type: String</li>
</ul>
<p>The registry you want to send cli metrics to if <code>send-metrics</code> is true.</p>
<h3 id="node-version">node-version</h3> <h3 id="node-version">node-version</h3>
<ul> <ul>
<li>Default: process.version</li> <li>Default: process.version</li>
@ -722,6 +728,15 @@ first on the <code>PATH</code> are different.</p>
<li>Type: Number</li> <li>Type: Number</li>
</ul> </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.</p>
<h3 id="send-metrics">send-metrics</h3>
<ul>
<li>Default: false</li>
<li>Type: Boolean</li>
</ul>
<p>If true, success/failure metrics will be reported to the registry stored in
<code>metrics-registry</code>. These requests contain the number of successful and
failing runs of the npm CLI and the time period overwhich those counts were
gathered. No identifying information is included in these requests.</p>
<h3 id="shell">shell</h3> <h3 id="shell">shell</h3>
<ul> <ul>
<li>Default: SHELL environment variable, or &quot;bash&quot; on Posix, or &quot;cmd&quot; on <li>Default: SHELL environment variable, or &quot;bash&quot; on Posix, or &quot;cmd&quot; on
@ -872,5 +887,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 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> <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> </table>
<p id="footer">npm-config &mdash; npm@4.0.5</p> <p id="footer">npm-config &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-developers &mdash; npm@4.0.5</p> <p id="footer">npm-developers &mdash; npm@4.1.1</p>

View File

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

View File

@ -42,6 +42,8 @@
<p>Modify package distribution tags</p> <p>Modify package distribution tags</p>
<h3 id="npm-docs-1-"><a href="../cli/npm-docs.html">npm-docs(1)</a></h3> <h3 id="npm-docs-1-"><a href="../cli/npm-docs.html">npm-docs(1)</a></h3>
<p>Docs for a package in a web browser maybe</p> <p>Docs for a package in a web browser maybe</p>
<h3 id="npm-doctor-1-"><a href="../cli/npm-doctor.html">npm-doctor(1)</a></h3>
<p>Check your environments</p>
<h3 id="npm-edit-1-"><a href="../cli/npm-edit.html">npm-edit(1)</a></h3> <h3 id="npm-edit-1-"><a href="../cli/npm-edit.html">npm-edit(1)</a></h3>
<p>Edit an installed package</p> <p>Edit an installed package</p>
<h3 id="npm-explore-1-"><a href="../cli/npm-explore.html">npm-explore(1)</a></h3> <h3 id="npm-explore-1-"><a href="../cli/npm-explore.html">npm-explore(1)</a></h3>
@ -160,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 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> <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> </table>
<p id="footer">npm-index &mdash; npm@4.0.5</p> <p id="footer">npm-index &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-orgs &mdash; npm@4.0.5</p> <p id="footer">npm-orgs &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-registry &mdash; npm@4.0.5</p> <p id="footer">npm-registry &mdash; npm@4.1.1</p>

View File

@ -94,5 +94,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 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> <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> </table>
<p id="footer">npm-scope &mdash; npm@4.0.5</p> <p id="footer">npm-scope &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">npm-scripts &mdash; npm@4.0.5</p> <p id="footer">npm-scripts &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">removing-npm &mdash; npm@4.0.5</p> <p id="footer">removing-npm &mdash; npm@4.1.1</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 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> <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> </table>
<p id="footer">semver &mdash; npm@4.0.5</p> <p id="footer">semver &mdash; npm@4.1.1</p>

View File

@ -14,6 +14,7 @@ var cachedPackageRoot = require('./cached-package-root.js')
var mapToRegistry = require('../utils/map-to-registry.js') var mapToRegistry = require('../utils/map-to-registry.js')
var pulseTillDone = require('../utils/pulse-till-done.js') var pulseTillDone = require('../utils/pulse-till-done.js')
var packageId = require('../utils/package-id.js') var packageId = require('../utils/package-id.js')
var pickManifestFromRegistryMetadata = require('../utils/pick-manifest-from-registry-metadata.js')
module.exports = addNamed module.exports = addNamed
@ -252,28 +253,10 @@ function addNameRange (name, range, data, cb) {
log.silly('addNameRange', 'versions' log.silly('addNameRange', 'versions'
, [data.name, Object.keys(data.versions || {})]) , [data.name, Object.keys(data.versions || {})])
// if the tagged version satisfies, then use that. var versions = Object.keys(data.versions).filter(function (v) { return semver.valid(v) })
var tagged = data['dist-tags'][npm.config.get('tag')] var picked = pickManifestFromRegistryMetadata(range, npm.config.get('tag'), versions, data)
if (tagged && if (picked) return addNamed(name, picked.resolvedTo, picked.manifest, cb)
data.versions[tagged] && return cb(installTargetsError(range, data))
semver.satisfies(tagged, range, true)) {
return addNamed(name, tagged, data.versions[tagged], cb)
}
// find the max satisfying version.
var versions = Object.keys(data.versions || {})
var ms = semver.maxSatisfying(versions, range, true)
if (!ms) {
if (range === '*' && versions.length) {
return addNameTag(name, 'latest', data, cb)
} else {
return cb(installTargetsError(range, data))
}
}
// if we don't have a registry connection, try to see if
// there's a cached copy that will be ok.
addNamed(name, ms, data.versions[ms], cb)
} }
} }

View File

@ -98,7 +98,8 @@ var cmdList = [
'start', 'start',
'restart', 'restart',
'run-script', 'run-script',
'completion' 'completion',
'doctor'
] ]
var plumbing = [ var plumbing = [

View File

@ -167,6 +167,7 @@ Object.defineProperty(exports, 'defaults', {get: function () {
long: false, long: false,
maxsockets: 50, maxsockets: 50,
message: '%s', message: '%s',
'metrics-registry': 'https://registry.npmjs.org/',
'node-version': process.version, 'node-version': process.version,
'onload-script': false, 'onload-script': false,
only: null, only: null,
@ -196,6 +197,7 @@ Object.defineProperty(exports, 'defaults', {get: function () {
searchopts: '', searchopts: '',
searchexclude: null, searchexclude: null,
searchstaleness: 15 * 60, searchstaleness: 15 * 60,
'send-metrics': false,
shell: osenv.shell(), shell: osenv.shell(),
shrinkwrap: true, shrinkwrap: true,
'sign-git-tag': false, 'sign-git-tag': false,
@ -279,6 +281,7 @@ exports.types = {
long: Boolean, long: Boolean,
maxsockets: Number, maxsockets: Number,
message: String, message: String,
'metrics-registry': String,
'node-version': [null, semver], 'node-version': [null, semver],
'onload-script': [null, String], 'onload-script': [null, String],
only: [null, 'dev', 'development', 'prod', 'production'], only: [null, 'dev', 'development', 'prod', 'production'],
@ -303,6 +306,7 @@ exports.types = {
searchopts: String, searchopts: String,
searchexclude: [null, String], searchexclude: [null, String],
searchstaleness: Number, searchstaleness: Number,
'send-metrics': Boolean,
shell: String, shell: String,
shrinkwrap: Boolean, shrinkwrap: Boolean,
'sign-git-tag': Boolean, 'sign-git-tag': Boolean,

109
deps/npm/lib/doctor.js vendored Normal file
View File

@ -0,0 +1,109 @@
var path = require('path')
var chain = require('slide').chain
var table = require('text-table')
var color = require('ansicolors')
var styles = require('ansistyles')
var semver = require('semver')
var npm = require('./npm.js')
var log = require('npmlog')
var ansiTrim = require('./utils/ansi-trim.js')
var output = require('./utils/output.js')
var defaultRegistry = require('./config/defaults.js').defaults.registry
var checkPing = require('./doctor/check-ping.js')
var getGitPath = require('./doctor/get-git-path.js')
var checksumCachedFiles = require('./doctor/checksum-cached-files.js')
var checkFilesPermission = require('./doctor/check-files-permission.js')
var getLatestNodejsVersion = require('./doctor/get-latest-nodejs-version.js')
var getLatestNpmVersion = require('./doctor/get-latest-npm-version')
var globalNodeModules = path.join(npm.config.globalPrefix, 'lib', 'node_modules')
var localNodeModules = path.join(npm.config.localPrefix, 'node_modules')
module.exports = doctor
doctor.usage = 'npm doctor'
function doctor (args, silent, cb) {
args = args || {}
if (typeof cb !== 'function') {
cb = silent
silent = false
}
var actionsToRun = [
[checkPing],
[getLatestNpmVersion],
[getLatestNodejsVersion, args['node-url']],
[getGitPath],
[checkFilesPermission, npm.cache, 6],
[checkFilesPermission, globalNodeModules, 4],
[checkFilesPermission, localNodeModules, 6],
[checksumCachedFiles]
]
log.info('doctor', 'Running checkup')
chain(actionsToRun, function (stderr, stdout) {
if (stderr && stderr.message !== 'not found: git') return cb(stderr)
var outHead = ['Check', 'Value', 'Recommendation']
var list = makePretty(stdout)
var outBody = list
if (npm.color) {
outHead = outHead.map(function (item) {
return styles.underline(item)
})
outBody = outBody.map(function (item) {
if (item[2]) {
item[0] = color.red(item[0])
item[2] = color.magenta(item[2])
}
return item
})
}
var outTable = [outHead].concat(outBody)
var tableOpts = {
stringLength: function (s) { return ansiTrim(s).length }
}
if (!silent) output(table(outTable, tableOpts))
cb(null, list)
})
}
function makePretty (p) {
var ping = p[0] ? 'ok' : 'notOk'
var npmLTS = p[1]
var nodeLTS = p[2].replace('v', '')
var whichGit = p[3] || 'not installed'
var readbleCaches = p[4] ? 'ok' : 'notOk'
var executableGlobalModules = p[5] ? 'ok' : 'notOk'
var executableLocalModules = p[6] ? 'ok' : 'notOk'
var checksumCachedFiles = p[7] ? 'ok' : 'notOk'
var npmV = npm.version
var nodeV = process.version.replace('v', '')
var registry = npm.config.get('registry')
var list = [
['npm ping', ping],
['npm -v', 'v' + npmV],
['node -v', 'v' + nodeV],
['npm config get registry', registry],
['which git', whichGit],
['Perms check on cached files', readbleCaches],
['Perms check on global node_modules', executableGlobalModules],
['Perms check on local node_modules', executableLocalModules],
['Checksum cached files', checksumCachedFiles]
]
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 (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.'
if (executableLocalModules !== 'ok') list[7][2] = localNodeModules + ' must be readable and writable by the current user.'
if (checksumCachedFiles !== 'ok') list[8][2] = 'You have some broken packages in your cache.'
return list
}

View File

@ -0,0 +1,55 @@
var fs = require('fs')
var path = require('path')
var getUid = require('uid-number')
var chain = require('slide').chain
var log = require('npmlog')
var npm = require('../npm.js')
var fileCompletion = require('../utils/completion/file-completion.js')
function checkFilesPermission (root, mask, cb) {
if (process.platform === 'win32') return cb(null, true)
getUid(npm.config.get('user'), npm.config.get('group'), function (e, uid, gid) {
if (e) {
tracker.finish()
tracker.warn('checkFilePermissions', 'Error looking up user and group:', e)
return cb(e)
}
var tracker = log.newItem('checkFilePermissions', 1)
tracker.info('checkFilePermissions', 'Building file list of ' + root)
fileCompletion(root, '.', Infinity, function (e, files) {
if (e) {
tracker.warn('checkFilePermissions', 'Error building file list:', e)
tracker.finish()
return cb(e)
}
tracker.addWork(files.length)
tracker.completeWork(1)
chain(files.map(andCheckFile), function (er) {
tracker.finish()
cb(null, !er)
})
function andCheckFile (f) {
return [checkFile, f]
}
function checkFile (f, next) {
var file = path.join(root, f)
tracker.silly('checkFilePermissions', f)
fs.stat(file, function (e, stat) {
tracker.completeWork(1)
if (e) return next(e)
if (!stat.isFile()) return next()
var mode = stat.mode
var isGroup = stat.gid ? stat.gid === gid : true
var isUser = stat.uid ? stat.uid === uid : true
if ((mode & parseInt('000' + mask, 8))) return next()
if ((isGroup && mode & parseInt('00' + mask + '0', 8))) return next()
if ((isUser && mode & parseInt('0' + mask + '00', 8))) return next()
tracker.error('checkFilePermissions', 'Missing permissions on (' + isGroup + ', ' + isUser + ', ' + mode + ')', file)
return next(new Error('Missing permissions for ' + file))
})
}
})
})
}
module.exports = checkFilesPermission

13
deps/npm/lib/doctor/check-ping.js vendored Normal file
View File

@ -0,0 +1,13 @@
var log = require('npmlog')
var ping = require('../ping.js')
function checkPing (cb) {
var tracker = log.newItem('checkPing', 1)
tracker.info('checkPing', 'Pinging registry')
ping({}, true, function (err, pong) {
tracker.finish()
cb(err, pong)
})
}
module.exports = checkPing

View File

@ -0,0 +1,62 @@
var crypto = require('crypto')
var fs = require('fs')
var path = require('path')
var chain = require('slide').chain
var log = require('npmlog')
var npm = require('../npm')
var fileCompletion = require('../utils/completion/file-completion.js')
function checksum (str) {
return crypto
.createHash('sha1')
.update(str, 'utf8')
.digest('hex')
}
function checksumCachedFiles (cb) {
var tracker = log.newItem('checksumCachedFiles', 1)
tracker.info('checksumCachedFiles', 'Building file list of ' + npm.cache)
fileCompletion(npm.cache, '.', Infinity, function (e, files) {
if (e) {
tracker.finish()
return cb(e)
}
tracker.addWork(files.length)
tracker.completeWork(1)
chain(files.map(andChecksumFile), function (er) {
tracker.finish()
cb(null, !er)
})
function andChecksumFile (f) {
return [function (next) { process.nextTick(function () { checksumFile(f, next) }) }]
}
function checksumFile (f, next) {
var file = path.join(npm.cache, f)
tracker.silly('checksumFile', f)
if (!/.tgz$/.test(file)) {
tracker.completeWork(1)
return next()
}
fs.readFile(file, function (err, tgz) {
tracker.completeWork(1)
if (err) return next(err)
try {
var pkgJSON = fs.readFileSync(path.join(path.dirname(file), 'package/package.json'))
} catch (e) {
return next() // no package.json in cche is ok
}
try {
var pkg = JSON.parse(pkgJSON)
var shasum = (pkg.dist && pkg.dist.shasum) || pkg._shasum
var actual = checksum(tgz)
if (actual !== shasum) return next(new Error('Checksum mismatch on ' + file + ', expected: ' + shasum + ', got: ' + shasum))
return next()
} catch (e) {
return next(new Error('Error parsing JSON in ' + file + ': ' + e))
}
})
}
})
}
module.exports = checksumCachedFiles

13
deps/npm/lib/doctor/get-git-path.js vendored Normal file
View File

@ -0,0 +1,13 @@
var log = require('npmlog')
var which = require('which')
function getGitPath (cb) {
var tracker = log.newItem('getGitPath', 1)
tracker.info('getGitPath', 'Finding git in your PATH')
which('git', function (err, path) {
tracker.finish()
cb(err, path)
})
}
module.exports = getGitPath

View File

@ -0,0 +1,26 @@
var log = require('npmlog')
var request = require('request')
function getLatestNodejsVersion (url, cb) {
var tracker = log.newItem('getLatestNodejsVersion', 1)
tracker.info('getLatestNodejsVersion', 'Getting Node.js release information')
var version = ''
url = url || 'https://nodejs.org/dist/index.json'
request(url, function (e, res, index) {
tracker.finish()
if (e) return cb(e)
if (res.statusCode !== 200) {
return cb(new Error('Status not 200, ' + res.statusCode))
}
try {
JSON.parse(index).forEach(function (item) {
if (item.lts && item.version > version) version = item.version
})
cb(null, version)
} catch (e) {
cb(e)
}
})
}
module.exports = getLatestNodejsVersion

View File

@ -0,0 +1,13 @@
var log = require('npmlog')
var fetchPackageMetadata = require('../fetch-package-metadata')
function getLatestNpmVersion (cb) {
var tracker = log.newItem('getLatestNpmVersion', 1)
tracker.info('getLatestNpmVersion', 'Getting npm package information')
fetchPackageMetadata('npm@latest', '.', function (e, d) {
tracker.finish()
cb(e, d.version)
})
}
module.exports = getLatestNpmVersion

View File

@ -26,6 +26,7 @@ var getCacheStat = require('./cache/get-stat.js')
var unpack = require('./utils/tar.js').unpack var unpack = require('./utils/tar.js').unpack
var pulseTillDone = require('./utils/pulse-till-done.js') var pulseTillDone = require('./utils/pulse-till-done.js')
var parseJSON = require('./utils/parse-json.js') var parseJSON = require('./utils/parse-json.js')
var pickManifestFromRegistryMetadata = require('./utils/pick-manifest-from-registry-metadata.js')
function andLogAndFinish (spec, tracker, done) { function andLogAndFinish (spec, tracker, done) {
validate('SF', [spec, done]) validate('SF', [spec, done])
@ -113,7 +114,7 @@ function fetchNamedPackageData (dep, next) {
} else { } else {
npm.registry.get(url, {auth: auth}, pulseTillDone('fetchMetadata', iferr(next, pickVersionFromRegistryDocument))) npm.registry.get(url, {auth: auth}, pulseTillDone('fetchMetadata', iferr(next, pickVersionFromRegistryDocument)))
} }
function returnAndAddMetadata (pkg) { function thenAddMetadata (pkg) {
pkg._from = dep.raw pkg._from = dep.raw
pkg._resolved = pkg.dist.tarball pkg._resolved = pkg.dist.tarball
pkg._shasum = pkg.dist.shasum pkg._shasum = pkg.dist.shasum
@ -130,35 +131,14 @@ function fetchNamedPackageData (dep, next) {
'You should delete or re-publish the invalid versions.', pkg.name, invalidVersions.join(', ')) 'You should delete or re-publish the invalid versions.', pkg.name, invalidVersions.join(', '))
} }
versions = versions.filter(function (v) { return semver.valid(v) }).sort(semver.rcompare) versions = versions.filter(function (v) { return semver.valid(v) })
if (dep.type === 'tag') { if (dep.type === 'tag') {
var tagVersion = pkg['dist-tags'][dep.spec] var tagVersion = pkg['dist-tags'][dep.spec]
if (pkg.versions[tagVersion]) return returnAndAddMetadata(pkg.versions[tagVersion]) if (pkg.versions[tagVersion]) return thenAddMetadata(pkg.versions[tagVersion])
} else { } else {
var latestVersion = pkg['dist-tags'][npm.config.get('tag')] || versions[0] var picked = pickManifestFromRegistryMetadata(dep.spec, npm.config.get('tag'), versions, pkg)
if (picked) return thenAddMetadata(picked.manifest)
// Find the the most recent version less than or equal
// to latestVersion that satisfies our spec
for (var ii = 0; ii < versions.length; ++ii) {
if (semver.gt(versions[ii], latestVersion)) continue
if (semver.satisfies(versions[ii], dep.spec)) {
return returnAndAddMetadata(pkg.versions[versions[ii]])
}
}
// Failing that, try finding the most recent version that matches
// our spec
for (var jj = 0; jj < versions.length; ++jj) {
if (semver.satisfies(versions[jj], dep.spec)) {
return returnAndAddMetadata(pkg.versions[versions[jj]])
}
}
// Failing THAT, if the range was '*' uses latestVersion
if (dep.spec === '*') {
return returnAndAddMetadata(pkg.versions[latestVersion])
}
} }
// We didn't manage to find a compatible version // We didn't manage to find a compatible version

View File

@ -114,6 +114,7 @@ var unlock = locker.unlock
var ls = require('./ls.js') var ls = require('./ls.js')
var parseJSON = require('./utils/parse-json.js') var parseJSON = require('./utils/parse-json.js')
var output = require('./utils/output.js') var output = require('./utils/output.js')
var saveMetrics = require('./utils/metrics.js').save
// install specific libraries // install specific libraries
var copyTree = require('./install/copy-tree.js') var copyTree = require('./install/copy-tree.js')
@ -216,9 +217,14 @@ function Installer (where, dryrun, args) {
} }
Installer.prototype = {} Installer.prototype = {}
Installer.prototype.run = function (cb) { Installer.prototype.run = function (_cb) {
validate('F', arguments) validate('F', arguments)
var cb = function (err) {
saveMetrics(!err)
return _cb.apply(this, arguments)
}
// FIXME: This is bad and I should feel bad. // FIXME: This is bad and I should feel bad.
// lib/install needs to have some way of sharing _limited_ // lib/install needs to have some way of sharing _limited_
// state with the things it calls. Passing the object is too // state with the things it calls. Passing the object is too

View File

@ -188,9 +188,13 @@ function addRequiredDep (tree, child, cb) {
} }
exports.removeObsoleteDep = removeObsoleteDep exports.removeObsoleteDep = removeObsoleteDep
function removeObsoleteDep (child) { function removeObsoleteDep (child, log) {
if (child.removed) return if (child.removed) return
child.removed = true child.removed = true
if (log) {
log.silly('removeObsoleteDep', 'removing ' + packageId(child) +
' from the tree as its been replaced by a newer version or is no longer required')
}
// remove from physical tree // remove from physical tree
if (child.parent) { if (child.parent) {
child.parent.children = child.parent.children.filter(function (pchild) { return pchild !== child }) child.parent.children = child.parent.children.filter(function (pchild) { return pchild !== child })
@ -199,7 +203,7 @@ function removeObsoleteDep (child) {
var requires = child.requires || [] var requires = child.requires || []
requires.forEach(function (requirement) { requires.forEach(function (requirement) {
requirement.requiredBy = requirement.requiredBy.filter(function (reqBy) { return reqBy !== child }) requirement.requiredBy = requirement.requiredBy.filter(function (reqBy) { return reqBy !== child })
if (requirement.requiredBy.length === 0) removeObsoleteDep(requirement) if (requirement.requiredBy.length === 0) removeObsoleteDep(requirement, log)
}) })
} }

View File

@ -23,7 +23,7 @@ function pkgAreEquiv (aa, bb) {
return false return false
} }
function getNameAndVersion (pkg) { function getUniqueId (pkg) {
var versionspec = pkg._shasum var versionspec = pkg._shasum
if (!versionspec && nonRegistrySource(pkg)) { if (!versionspec && nonRegistrySource(pkg)) {
@ -113,21 +113,25 @@ var sortActions = module.exports.sortActions = function (differences) {
return sorted return sorted
} }
function setAction (differences, action, pkg) {
differences.push([action, pkg])
}
var diffTrees = module.exports._diffTrees = function (oldTree, newTree) { var diffTrees = module.exports._diffTrees = function (oldTree, newTree) {
validate('OO', arguments) validate('OO', arguments)
var differences = [] var differences = []
var flatOldTree = flattenTree(oldTree) var flatOldTree = flattenTree(oldTree)
var flatNewTree = flattenTree(newTree) var flatNewTree = flattenTree(newTree)
var toRemove = {} var toRemove = {}
var toRemoveByNameAndVer = {} var toRemoveByUniqueId = {}
// find differences // find differences
Object.keys(flatOldTree).forEach(function (flatname) { Object.keys(flatOldTree).forEach(function (flatname) {
if (flatNewTree[flatname]) return if (flatNewTree[flatname]) return
var pkg = flatOldTree[flatname] var pkg = flatOldTree[flatname]
toRemove[flatname] = pkg toRemove[flatname] = pkg
var namever = getNameAndVersion(pkg.package) var pkgunique = getUniqueId(pkg.package)
if (!toRemoveByNameAndVer[namever]) toRemoveByNameAndVer[namever] = [] if (!toRemoveByUniqueId[pkgunique]) toRemoveByUniqueId[pkgunique] = []
toRemoveByNameAndVer[namever].push(flatname) toRemoveByUniqueId[pkgunique].push(flatname)
}) })
Object.keys(flatNewTree).forEach(function (path) { Object.keys(flatNewTree).forEach(function (path) {
var pkg = flatNewTree[path] var pkg = flatNewTree[path]
@ -138,21 +142,21 @@ var diffTrees = module.exports._diffTrees = function (oldTree, newTree) {
if (pkg.oldPkg) { if (pkg.oldPkg) {
if (!pkg.userRequired && pkgAreEquiv(pkg.oldPkg.package, pkg.package)) return if (!pkg.userRequired && pkgAreEquiv(pkg.oldPkg.package, pkg.package)) return
if (!pkg.isInLink && (isLink(pkg.oldPkg) || isLink(pkg))) { if (!pkg.isInLink && (isLink(pkg.oldPkg) || isLink(pkg))) {
differences.push(['update-linked', pkg]) setAction(differences, 'update-linked', pkg)
} else { } else {
differences.push(['update', pkg]) setAction(differences, 'update', pkg)
} }
} else { } else {
var vername = getNameAndVersion(pkg.package) var vername = getUniqueId(pkg.package)
var removing = toRemoveByNameAndVer[vername] && toRemoveByNameAndVer[vername].length var removing = toRemoveByUniqueId[vername] && toRemoveByUniqueId[vername].length
var bundlesOrFromBundle = pkg.fromBundle || pkg.package.bundleDependencies var bundlesOrFromBundle = pkg.fromBundle || pkg.package.bundleDependencies
if (removing && !bundlesOrFromBundle) { if (removing && !bundlesOrFromBundle) {
var flatname = toRemoveByNameAndVer[vername].shift() var flatname = toRemoveByUniqueId[vername].shift()
pkg.fromPath = toRemove[flatname].path pkg.fromPath = toRemove[flatname].path
differences.push(['move', pkg]) setAction(differences, 'move', pkg)
delete toRemove[flatname] delete toRemove[flatname]
} else { } else {
differences.push(['add', pkg]) setAction(differences, 'add', pkg)
} }
} }
}) })
@ -160,7 +164,7 @@ var diffTrees = module.exports._diffTrees = function (oldTree, newTree) {
.keys(toRemove) .keys(toRemove)
.map(function (path) { return toRemove[path] }) .map(function (path) { return toRemove[path] })
.forEach(function (pkg) { .forEach(function (pkg) {
differences.push(['remove', pkg]) setAction(differences, 'remove', pkg)
}) })
return differences return differences
} }

View File

@ -167,11 +167,7 @@ function computeVersionSpec (child) {
pathname: requested.spec pathname: requested.spec
}) })
} else { } else {
return url.format({ return 'file:' + relativePath
protocol: 'file',
slashes: false,
pathname: relativePath
})
} }
} else if (requested.type === 'hosted') { } else if (requested.type === 'hosted') {
return requested.spec return requested.spec

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

@ -35,6 +35,7 @@
var cmdList = require('./config/cmd-list').cmdList var cmdList = require('./config/cmd-list').cmdList
var plumbing = require('./config/cmd-list').plumbing var plumbing = require('./config/cmd-list').plumbing
var output = require('./utils/output.js') var output = require('./utils/output.js')
var startMetrics = require('./utils/metrics.js').start
npm.config = { npm.config = {
loaded: false, loaded: false,
@ -308,6 +309,8 @@
// go ahead and spin up the registry client. // go ahead and spin up the registry client.
npm.registry = new CachingRegClient(npm.config) npm.registry = new CachingRegClient(npm.config)
startMetrics()
return cb(null, npm) return cb(null, npm)
}) })
}) })

View File

@ -41,6 +41,7 @@ var isExtraneous = require('./install/is-extraneous.js')
var recalculateMetadata = require('./install/deps.js').recalculateMetadata var recalculateMetadata = require('./install/deps.js').recalculateMetadata
var moduleName = require('./utils/module-name.js') var moduleName = require('./utils/module-name.js')
var output = require('./utils/output.js') var output = require('./utils/output.js')
var ansiTrim = require('./utils/ansi-trim')
function uniqName (item) { function uniqName (item) {
return item[0].path + '|' + item[1] + '|' + item[7] return item[0].path + '|' + item[1] + '|' + item[7]
@ -149,12 +150,6 @@ function makePretty (p) {
return columns return columns
} }
function ansiTrim (str) {
var r = new RegExp('\x1b(?:\\[(?:\\d+[ABCDEFGJKSTm]|\\d+;\\d+[Hfm]|' +
'\\d+;\\d+;\\d+m|6n|s|u|\\?25[lh])|\\w)', 'g')
return str.replace(r, '')
}
function makeParseable (list) { function makeParseable (list) {
return list.map(function (p) { return list.map(function (p) {
var dep = p[0] var dep = p[0]

88
deps/npm/lib/prune.js vendored
View File

@ -1,54 +1,66 @@
// prune extraneous packages. // prune extraneous packages.
module.exports = prune module.exports = prune
module.exports.Pruner = Pruner
prune.usage = 'npm prune [[<@scope>/]<pkg>...] [--production]' prune.usage = 'npm prune [[<@scope>/]<pkg>...] [--production]'
var readInstalled = require('read-installed')
var npm = require('./npm.js') var npm = require('./npm.js')
var path = require('path')
var readJson = require('read-package-json')
var log = require('npmlog') var log = require('npmlog')
var util = require('util')
var moduleName = require('./utils/module-name.js')
var Installer = require('./install.js').Installer
var isExtraneous = require('./install/is-extraneous.js')
var isDev = require('./install/is-dev-dep.js')
var removeDeps = require('./install/deps.js').removeDeps
var loadExtraneous = require('./install/deps.js').loadExtraneous
var chain = require('slide').chain
prune.completion = require('./utils/completion/installed-deep.js') prune.completion = require('./utils/completion/installed-deep.js')
function prune (args, cb) { function prune (args, cb) {
// check if is a valid package.json file var dryrun = !!npm.config.get('dry-run')
var jsonFile = path.resolve(npm.dir, '..', 'package.json') new Pruner('.', dryrun, args).run(cb)
readJson(jsonFile, log.warn, function (er) { }
if (er) return cb(er)
next()
})
function next () { function Pruner (where, dryrun, args) {
var opt = { Installer.call(this, where, dryrun, args)
depth: npm.config.get('depth'), }
dev: !npm.config.get('production') || npm.config.get('dev') util.inherits(Pruner, Installer)
}
readInstalled(npm.prefix, opt, function (er, data) { Pruner.prototype.loadAllDepsIntoIdealTree = function (cb) {
if (er) return cb(er) log.silly('uninstall', 'loadAllDepsIntoIdealtree')
prune_(args, data, cb)
}) var cg = this.progress.loadAllDepsIntoIdealTree
var steps = []
var self = this
var excludeDev = npm.config.get('production') || /^prod(uction)?$/.test(npm.config.get('only'))
function shouldPrune (child) {
if (isExtraneous(child)) return true
if (!excludeDev) return false
var childName = moduleName(child)
var isChildDev = function (parent) { return isDev(parent, childName) }
if (child.requiredBy.every(isChildDev)) return true
} }
function getModuleName (child) {
// wrapping because moduleName doesn't like extra args and we're called
// from map.
return moduleName(child)
}
function matchesArg (name) {
return self.args.length === 0 || self.args.indexOf(name) !== -1
}
function nameObj (name) {
return {name: name}
}
var toPrune = this.currentTree.children.filter(shouldPrune).map(getModuleName).filter(matchesArg).map(nameObj)
steps.push(
[removeDeps, toPrune, this.idealTree, null, cg.newGroup('removeDeps')],
[loadExtraneous, this.idealTree, cg.newGroup('loadExtraneous')])
chain(steps, cb)
} }
function prune_ (args, data, cb) { Pruner.prototype.runPreinstallTopLevelLifecycles = function (cb) { cb() }
npm.commands.unbuild(prunables(args, data, []), cb) Pruner.prototype.runPostinstallTopLevelLifecycles = function (cb) { cb() }
}
function prunables (args, data, seen) {
var deps = data.dependencies || {}
return Object.keys(deps).map(function (d) {
if (typeof deps[d] !== 'object' || seen.indexOf(deps[d]) !== -1) return null
seen.push(deps[d])
if (deps[d].extraneous && (args.length === 0 || args.indexOf(d) !== -1)) {
var extra = deps[d]
delete deps[d]
return extra.path
}
return prunables(args, deps[d], seen)
}).filter(function (d) { return d !== null })
.reduce(function FLAT (l, r) {
return l.concat(Array.isArray(r) ? r.reduce(FLAT, []) : r)
}, [])
}

View File

@ -74,3 +74,6 @@ Uninstaller.prototype.loadAllDepsIntoIdealTree = function (cb) {
[loadExtraneous, this.idealTree, cg.newGroup('loadExtraneous')]) [loadExtraneous, this.idealTree, cg.newGroup('loadExtraneous')])
chain(steps, cb) chain(steps, cb)
} }
Uninstaller.prototype.runPreinstallTopLevelLifecycles = function (cb) { cb() }
Uninstaller.prototype.runPostinstallTopLevelLifecycles = function (cb) { cb() }

7
deps/npm/lib/utils/ansi-trim.js vendored Normal file
View File

@ -0,0 +1,7 @@
function ansiTrim (str) {
var r = new RegExp('\x1b(?:\\[(?:\\d+[ABCDEFGJKSTm]|\\d+;\\d+[Hfm]|' +
'\\d+;\\d+;\\d+m|6n|s|u|\\?25[lh])|\\w)', 'g')
return str.replace(r, '')
}
module.exports = ansiTrim

View File

@ -13,10 +13,15 @@ var rollbacks = npm.rollbacks
var chain = require('slide').chain var chain = require('slide').chain
var writeStreamAtomic = require('fs-write-stream-atomic') var writeStreamAtomic = require('fs-write-stream-atomic')
var errorMessage = require('./error-message.js') var errorMessage = require('./error-message.js')
var stopMetrics = require('./metrics.js').stop
process.on('exit', function (code) { process.on('exit', function (code) {
log.disableProgress() log.disableProgress()
if (!npm.config || !npm.config.loaded) return if (!npm.config || !npm.config.loaded) return
// kill any outstanding stats reporter if it hasn't finished yet
stopMetrics()
if (code) itWorked = false if (code) itWorked = false
if (itWorked) log.info('ok') if (itWorked) log.info('ok')
else { else {

39
deps/npm/lib/utils/metrics-launch.js vendored Normal file
View File

@ -0,0 +1,39 @@
'use strict'
module.exports = launchSendMetrics
var fs = require('graceful-fs')
var child_process = require('child_process')
if (require.main === module) main()
function launchSendMetrics () {
var path = require('path')
var npm = require('../npm.js')
try {
if (!npm.config.get('send-metrics')) return
var cliMetrics = path.join(npm.config.get('cache'), 'anonymous-cli-metrics.json')
var targetRegistry = npm.config.get('metrics-registry')
fs.statSync(cliMetrics)
return runInBackground(__filename, [cliMetrics, targetRegistry])
} catch (ex) {
// if the metrics file doesn't exist, don't run
}
}
function runInBackground (js, args, opts) {
if (!args) args = []
args.unshift(js)
if (!opts) opts = {}
opts.stdio = 'ignore'
opts.detached = true
var child = child_process.spawn(process.execPath, args, opts)
child.unref()
return child
}
function main () {
var sendMetrics = require('./metrics.js').send
var metricsFile = process.argv[2]
var metricsRegistry = process.argv[3]
sendMetrics(metricsFile, metricsRegistry)
}

73
deps/npm/lib/utils/metrics.js vendored Normal file
View File

@ -0,0 +1,73 @@
'use strict'
exports.start = startMetrics
exports.stop = stopMetrics
exports.save = saveMetrics
exports.send = sendMetrics
var fs = require('fs')
var path = require('path')
var npm = require('../npm.js')
var uuid = require('uuid')
var inMetrics = false
function startMetrics () {
if (inMetrics) return
// loaded on demand to avoid any recursive deps when `./metrics-launch` requires us.
var metricsLaunch = require('./metrics-launch.js')
npm.metricsProcess = metricsLaunch()
}
function stopMetrics () {
if (inMetrics) return
if (npm.metricsProcess) npm.metricsProcess.kill('SIGKILL')
}
function saveMetrics (itWorked) {
if (inMetrics) return
// If the metrics reporter hasn't managed to PUT yet then kill it so that it doesn't
// step on our updating the anonymous-cli-metrics json
stopMetrics()
var metricsFile = path.join(npm.config.get('cache'), 'anonymous-cli-metrics.json')
var metrics
try {
metrics = JSON.parse(fs.readFileSync(metricsFile))
metrics.metrics.to = new Date().toISOString()
if (itWorked) {
++metrics.metrics.successfulInstalls
} else {
++metrics.metrics.failedInstalls
}
} catch (ex) {
metrics = {
metricId: uuid.v4(),
metrics: {
from: new Date().toISOString(),
to: new Date().toISOString(),
successfulInstalls: itWorked ? 1 : 0,
failedInstalls: itWorked ? 0 : 1
}
}
}
try {
fs.writeFileSync(metricsFile, JSON.stringify(metrics))
} catch (ex) {
// we couldn't write the error metrics file, um, well, oh well.
}
}
function sendMetrics (metricsFile, metricsRegistry) {
inMetrics = true
var cliMetrics = JSON.parse(fs.readFileSync(metricsFile))
npm.load({}, function (err) {
if (err) return
npm.registry.config.retry.retries = 0
npm.registry.sendAnonymousCLIMetrics(metricsRegistry, cliMetrics, function (err) {
if (err) {
fs.writeFileSync(path.join(path.dirname(metricsFile), 'last-send-metrics-error.txt'), err.stack)
} else {
fs.unlinkSync(metricsFile)
}
})
})
}

View File

@ -0,0 +1,26 @@
'use strict'
module.exports = pickManifestFromRegistryMetadata
var log = require('npmlog')
var semver = require('semver')
function pickManifestFromRegistryMetadata (spec, tag, versions, metadata) {
log.silly('pickManifestFromRegistryMetadata', 'spec', spec, 'tag', tag, 'versions', versions)
// if the tagged version satisfies, then use that.
var tagged = metadata['dist-tags'][tag]
if (tagged &&
metadata.versions[tagged] &&
semver.satisfies(tagged, spec, true)) {
return {resolvedTo: tag, manifest: metadata.versions[tagged]}
}
// find the max satisfying version.
var ms = semver.maxSatisfying(versions, spec, true)
if (ms) {
return {resolvedTo: ms, manifest: metadata.versions[ms]}
} else if (spec === '*' && versions.length && tagged && metadata.versions[tagged]) {
return {resolvedTo: tag, manifest: metadata.versions[tagged]}
} else {
return
}
}

View File

@ -1,4 +1,4 @@
.TH "NPM" "1" "December 2016" "" "" .TH "NPM" "1" "January 2017" "" ""
.SH "NAME" .SH "NAME"
\fBnpm\fR \- a JavaScript package manager \fBnpm\fR \- a JavaScript package manager
.P .P

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