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:
parent
bfd3c7e626
commit
f73bc91756
1
deps/npm/AUTHORS
vendored
1
deps/npm/AUTHORS
vendored
@ -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
220
deps/npm/CHANGELOG.md
vendored
@ -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 <= 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.
|
||||||
|
5
deps/npm/doc/cli/npm-cache.md
vendored
5
deps/npm/doc/cli/npm-cache.md
vendored
@ -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
102
deps/npm/doc/cli/npm-doctor.md
vendored
Normal 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)
|
17
deps/npm/doc/misc/npm-config.md
vendored
17
deps/npm/doc/misc/npm-config.md
vendored
@ -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
|
||||||
|
4
deps/npm/doc/misc/npm-index.md
vendored
4
deps/npm/doc/misc/npm-index.md
vendored
@ -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
|
||||||
|
2
deps/npm/html/doc/README.html
vendored
2
deps/npm/html/doc/README.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer"><a href="../doc/README.html">README</a> — npm@4.0.5</p>
|
<p id="footer"><a href="../doc/README.html">README</a> — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-access.html
vendored
2
deps/npm/html/doc/cli/npm-access.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-access — npm@4.0.5</p>
|
<p id="footer">npm-access — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-adduser.html
vendored
2
deps/npm/html/doc/cli/npm-adduser.html
vendored
@ -73,5 +73,5 @@ over any global configuration.</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-adduser — npm@4.0.5</p>
|
<p id="footer">npm-adduser — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-bin.html
vendored
2
deps/npm/html/doc/cli/npm-bin.html
vendored
@ -35,5 +35,5 @@
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-bin — npm@4.0.5</p>
|
<p id="footer">npm-bin — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-bugs.html
vendored
2
deps/npm/html/doc/cli/npm-bugs.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-bugs — npm@4.0.5</p>
|
<p id="footer">npm-bugs — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-build.html
vendored
2
deps/npm/html/doc/cli/npm-build.html
vendored
@ -40,5 +40,5 @@ directly, run:</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-build — npm@4.0.5</p>
|
<p id="footer">npm-build — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-bundle.html
vendored
2
deps/npm/html/doc/cli/npm-bundle.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-bundle — npm@4.0.5</p>
|
<p id="footer">npm-bundle — npm@4.1.1</p>
|
||||||
|
|
||||||
|
7
deps/npm/html/doc/cli/npm-cache.html
vendored
7
deps/npm/html/doc/cli/npm-cache.html
vendored
@ -19,8 +19,9 @@ npm cache add <name>@<version>
|
|||||||
npm cache ls [<path>]
|
npm cache ls [<path>]
|
||||||
|
|
||||||
npm cache clean [<path>]
|
npm cache clean [<path>]
|
||||||
|
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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-cache — npm@4.0.5</p>
|
<p id="footer">npm-cache — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-completion.html
vendored
2
deps/npm/html/doc/cli/npm-completion.html
vendored
@ -43,5 +43,5 @@ completions based on the arguments.</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-completion — npm@4.0.5</p>
|
<p id="footer">npm-completion — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-config.html
vendored
2
deps/npm/html/doc/cli/npm-config.html
vendored
@ -67,5 +67,5 @@ global config.</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-config — npm@4.0.5</p>
|
<p id="footer">npm-config — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-dedupe.html
vendored
2
deps/npm/html/doc/cli/npm-dedupe.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-dedupe — npm@4.0.5</p>
|
<p id="footer">npm-dedupe — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-deprecate.html
vendored
2
deps/npm/html/doc/cli/npm-deprecate.html
vendored
@ -38,5 +38,5 @@ something like this:</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-deprecate — npm@4.0.5</p>
|
<p id="footer">npm-deprecate — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-dist-tag.html
vendored
2
deps/npm/html/doc/cli/npm-dist-tag.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-dist-tag — npm@4.0.5</p>
|
<p id="footer">npm-dist-tag — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-docs.html
vendored
2
deps/npm/html/doc/cli/npm-docs.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-docs — npm@4.0.5</p>
|
<p id="footer">npm-docs — npm@4.1.1</p>
|
||||||
|
|
||||||
|
106
deps/npm/html/doc/cli/npm-doctor.html
vendored
Normal file
106
deps/npm/html/doc/cli/npm-doctor.html
vendored
Normal 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'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'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've configured (you can see
|
||||||
|
what that is by running <code>npm config get registry</code>), and if you're using a
|
||||||
|
private registry that doesn'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'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'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'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.</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'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 <code>npm doctor</code> just lets you, and maybe whoever's helping you with
|
||||||
|
support, know that you're not using the default registry.</p>
|
||||||
|
<h3 id="-which-git-"><code>which git</code></h3>
|
||||||
|
<p>While it'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'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'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'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'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> </td></tr>
|
||||||
|
<tr><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)"> </td><td style="width:40px;height:10px;background:#fff" colspan=4> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4> </td><td style="width:40px;height:10px;background:#fff" colspan=4> </td><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)"> </td><td colspan=6 style="width:60px;height:10px;background:#fff"> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4> </td></tr>
|
||||||
|
<tr><td colspan=2 style="width:20px;height:30px;background:#fff" rowspan=3> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:20px;height:10px;background:#fff" rowspan=4 colspan=2> </td><td style="width:10px;height:20px;background:rgb(237,127,127)" rowspan=2> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:20px;height:10px;background:#fff" rowspan=3 colspan=2> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td></tr>
|
||||||
|
<tr><td style="width:10px;height:10px;background:#fff" rowspan=2> </td></tr>
|
||||||
|
<tr><td style="width:10px;height:10px;background:#fff"> </td></tr>
|
||||||
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
|
</table>
|
||||||
|
<p id="footer">npm-doctor — npm@4.1.1</p>
|
2
deps/npm/html/doc/cli/npm-edit.html
vendored
2
deps/npm/html/doc/cli/npm-edit.html
vendored
@ -49,5 +49,5 @@ or <code>"notepad"</code> on Windows.</li>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-edit — npm@4.0.5</p>
|
<p id="footer">npm-edit — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-explore.html
vendored
2
deps/npm/html/doc/cli/npm-explore.html
vendored
@ -49,5 +49,5 @@ Windows</li>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-explore — npm@4.0.5</p>
|
<p id="footer">npm-explore — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-help-search.html
vendored
2
deps/npm/html/doc/cli/npm-help-search.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-help-search — npm@4.0.5</p>
|
<p id="footer">npm-help-search — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-help.html
vendored
2
deps/npm/html/doc/cli/npm-help.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-help — npm@4.0.5</p>
|
<p id="footer">npm-help — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-init.html
vendored
2
deps/npm/html/doc/cli/npm-init.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-init — npm@4.0.5</p>
|
<p id="footer">npm-init — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-install-test.html
vendored
2
deps/npm/html/doc/cli/npm-install-test.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-install-test — npm@4.0.5</p>
|
<p id="footer">npm-install-test — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-install.html
vendored
2
deps/npm/html/doc/cli/npm-install.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-install — npm@4.0.5</p>
|
<p id="footer">npm-install — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-link.html
vendored
2
deps/npm/html/doc/cli/npm-link.html
vendored
@ -74,5 +74,5 @@ include that scope, e.g.</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-link — npm@4.0.5</p>
|
<p id="footer">npm-link — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-logout.html
vendored
2
deps/npm/html/doc/cli/npm-logout.html
vendored
@ -51,5 +51,5 @@ it takes precedence.</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-logout — npm@4.0.5</p>
|
<p id="footer">npm-logout — npm@4.1.1</p>
|
||||||
|
|
||||||
|
4
deps/npm/html/doc/cli/npm-ls.html
vendored
4
deps/npm/html/doc/cli/npm-ls.html
vendored
@ -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's source tree will show:</p>
|
For example, running <code>npm ls promzard</code> in npm'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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-ls — npm@4.0.5</p>
|
<p id="footer">npm-ls — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-outdated.html
vendored
2
deps/npm/html/doc/cli/npm-outdated.html
vendored
@ -116,5 +116,5 @@ project.</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-outdated — npm@4.0.5</p>
|
<p id="footer">npm-outdated — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-owner.html
vendored
2
deps/npm/html/doc/cli/npm-owner.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-owner — npm@4.0.5</p>
|
<p id="footer">npm-owner — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-pack.html
vendored
2
deps/npm/html/doc/cli/npm-pack.html
vendored
@ -41,5 +41,5 @@ overwritten the second time.</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-pack — npm@4.0.5</p>
|
<p id="footer">npm-pack — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-ping.html
vendored
2
deps/npm/html/doc/cli/npm-ping.html
vendored
@ -32,5 +32,5 @@
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-ping — npm@4.0.5</p>
|
<p id="footer">npm-ping — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-prefix.html
vendored
2
deps/npm/html/doc/cli/npm-prefix.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-prefix — npm@4.0.5</p>
|
<p id="footer">npm-prefix — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-prune.html
vendored
2
deps/npm/html/doc/cli/npm-prune.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-prune — npm@4.0.5</p>
|
<p id="footer">npm-prune — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-publish.html
vendored
2
deps/npm/html/doc/cli/npm-publish.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-publish — npm@4.0.5</p>
|
<p id="footer">npm-publish — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-rebuild.html
vendored
2
deps/npm/html/doc/cli/npm-rebuild.html
vendored
@ -35,5 +35,5 @@ the new binary.</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-rebuild — npm@4.0.5</p>
|
<p id="footer">npm-rebuild — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-repo.html
vendored
2
deps/npm/html/doc/cli/npm-repo.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-repo — npm@4.0.5</p>
|
<p id="footer">npm-repo — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-restart.html
vendored
2
deps/npm/html/doc/cli/npm-restart.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-restart — npm@4.0.5</p>
|
<p id="footer">npm-restart — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-root.html
vendored
2
deps/npm/html/doc/cli/npm-root.html
vendored
@ -35,5 +35,5 @@
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-root — npm@4.0.5</p>
|
<p id="footer">npm-root — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-run-script.html
vendored
2
deps/npm/html/doc/cli/npm-run-script.html
vendored
@ -66,5 +66,5 @@ you will be given a warning to run <code>npm install</code>, just in case you
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-run-script — npm@4.0.5</p>
|
<p id="footer">npm-run-script — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-search.html
vendored
2
deps/npm/html/doc/cli/npm-search.html
vendored
@ -109,5 +109,5 @@ setting.</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-search — npm@4.0.5</p>
|
<p id="footer">npm-search — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-shrinkwrap.html
vendored
2
deps/npm/html/doc/cli/npm-shrinkwrap.html
vendored
@ -180,5 +180,5 @@ contents rather than versions.</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-shrinkwrap — npm@4.0.5</p>
|
<p id="footer">npm-shrinkwrap — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-star.html
vendored
2
deps/npm/html/doc/cli/npm-star.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-star — npm@4.0.5</p>
|
<p id="footer">npm-star — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-stars.html
vendored
2
deps/npm/html/doc/cli/npm-stars.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-stars — npm@4.0.5</p>
|
<p id="footer">npm-stars — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-start.html
vendored
2
deps/npm/html/doc/cli/npm-start.html
vendored
@ -39,5 +39,5 @@ more details.</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-start — npm@4.0.5</p>
|
<p id="footer">npm-start — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-stop.html
vendored
2
deps/npm/html/doc/cli/npm-stop.html
vendored
@ -34,5 +34,5 @@
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-stop — npm@4.0.5</p>
|
<p id="footer">npm-stop — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-team.html
vendored
2
deps/npm/html/doc/cli/npm-team.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-team — npm@4.0.5</p>
|
<p id="footer">npm-team — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-test.html
vendored
2
deps/npm/html/doc/cli/npm-test.html
vendored
@ -36,5 +36,5 @@
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-test — npm@4.0.5</p>
|
<p id="footer">npm-test — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-uninstall.html
vendored
2
deps/npm/html/doc/cli/npm-uninstall.html
vendored
@ -60,5 +60,5 @@ npm uninstall dtrace-provider --save-optional
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-uninstall — npm@4.0.5</p>
|
<p id="footer">npm-uninstall — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-unpublish.html
vendored
2
deps/npm/html/doc/cli/npm-unpublish.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-unpublish — npm@4.0.5</p>
|
<p id="footer">npm-unpublish — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-update.html
vendored
2
deps/npm/html/doc/cli/npm-update.html
vendored
@ -118,5 +118,5 @@ be <em>downgraded</em>.</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-update — npm@4.0.5</p>
|
<p id="footer">npm-update — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-version.html
vendored
2
deps/npm/html/doc/cli/npm-version.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-version — npm@4.0.5</p>
|
<p id="footer">npm-version — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-view.html
vendored
2
deps/npm/html/doc/cli/npm-view.html
vendored
@ -86,5 +86,5 @@ the field name.</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-view — npm@4.0.5</p>
|
<p id="footer">npm-view — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/cli/npm-whoami.html
vendored
2
deps/npm/html/doc/cli/npm-whoami.html
vendored
@ -33,5 +33,5 @@
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-whoami — npm@4.0.5</p>
|
<p id="footer">npm-whoami — npm@4.1.1</p>
|
||||||
|
|
||||||
|
6
deps/npm/html/doc/cli/npm.html
vendored
6
deps/npm/html/doc/cli/npm.html
vendored
@ -13,7 +13,7 @@
|
|||||||
<h2 id="synopsis">SYNOPSIS</h2>
|
<h2 id="synopsis">SYNOPSIS</h2>
|
||||||
<pre><code>npm <command> [args]
|
<pre><code>npm <command> [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="mailto:i@izs.me">i@izs.me</a></p>
|
<a href="mailto:i@izs.me">i@izs.me</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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm — npm@4.0.5</p>
|
<p id="footer">npm — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/files/npm-folders.html
vendored
2
deps/npm/html/doc/files/npm-folders.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-folders — npm@4.0.5</p>
|
<p id="footer">npm-folders — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/files/npm-global.html
vendored
2
deps/npm/html/doc/files/npm-global.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-folders — npm@4.0.5</p>
|
<p id="footer">npm-folders — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/files/npm-json.html
vendored
2
deps/npm/html/doc/files/npm-json.html
vendored
@ -586,5 +586,5 @@ ignored.</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">package.json — npm@4.0.5</p>
|
<p id="footer">package.json — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/files/npmrc.html
vendored
2
deps/npm/html/doc/files/npmrc.html
vendored
@ -85,5 +85,5 @@ manner.</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npmrc — npm@4.0.5</p>
|
<p id="footer">npmrc — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/files/package.json.html
vendored
2
deps/npm/html/doc/files/package.json.html
vendored
@ -586,5 +586,5 @@ ignored.</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">package.json — npm@4.0.5</p>
|
<p id="footer">package.json — npm@4.1.1</p>
|
||||||
|
|
||||||
|
4
deps/npm/html/doc/index.html
vendored
4
deps/npm/html/doc/index.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-index — npm@4.0.5</p>
|
<p id="footer">npm-index — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/misc/npm-coding-style.html
vendored
2
deps/npm/html/doc/misc/npm-coding-style.html
vendored
@ -153,5 +153,5 @@ set to anything."</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-coding-style — npm@4.0.5</p>
|
<p id="footer">npm-coding-style — npm@4.1.1</p>
|
||||||
|
|
||||||
|
17
deps/npm/html/doc/misc/npm-config.html
vendored
17
deps/npm/html/doc/misc/npm-config.html
vendored
@ -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 "%s" in the message will be replaced with the version number.</p>
|
<p>Any "%s" in the message will be replaced with the version number.</p>
|
||||||
|
<h3 id="metrics-registry">metrics-registry</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Default: "<a href="https://registry.npmjs.org/">https://registry.npmjs.org/</a>"</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 "bash" on Posix, or "cmd" on
|
<li>Default: SHELL environment variable, or "bash" on Posix, or "cmd" on
|
||||||
@ -872,5 +887,5 @@ exit successfully.</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-config — npm@4.0.5</p>
|
<p id="footer">npm-config — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/misc/npm-developers.html
vendored
2
deps/npm/html/doc/misc/npm-developers.html
vendored
@ -194,5 +194,5 @@ from a fresh checkout.</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-developers — npm@4.0.5</p>
|
<p id="footer">npm-developers — npm@4.1.1</p>
|
||||||
|
|
||||||
|
12
deps/npm/html/doc/misc/npm-disputes.html
vendored
12
deps/npm/html/doc/misc/npm-disputes.html
vendored
@ -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 <pkgname></code></li>
|
<li>Get the author email with <code>npm owner ls <pkgname></code></li>
|
||||||
<li>Email the author, CC <a href="mailto:support@npmjs.com">support@npmjs.com</a></li>
|
<li>Email the author, CC <a href="mailto:support@npmjs.com">support@npmjs.com</a></li>
|
||||||
<li>After a few weeks, if there's no resolution, we'll sort it out.</li>
|
<li>After a few weeks, if there's no resolution, we'll sort it out.</li>
|
||||||
</ol>
|
</ol>
|
||||||
<p>Don't squat on package names. Publish code or move out of the way.</p>
|
<p>Don't squat on package names. Publish code or move out of the way.</p>
|
||||||
@ -55,12 +55,12 @@ because Yusuf'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="mailto:support@npmjs.com">support@npmjs.com</a> to the CC list of the email. Mention in the email
|
staff <a href="mailto:support@npmjs.com">support@npmjs.com</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't come to any sort of resolution, email support
|
and Alice can't come to any sort of resolution, email support
|
||||||
<a href="mailto:support@npmjs.com">support@npmjs.com</a> and we'll sort it out. ("Reasonable" is usually at least
|
<a href="mailto:support@npmjs.com">support@npmjs.com</a> and we'll sort it out. ("Reasonable" 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="mailto:abuse@npmjs.com">abuse@npmjs.com</a> right
|
<p>If you see bad behavior like this, please report it to <a href="mailto:abuse@npmjs.com">abuse@npmjs.com</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="mailto:abuse@npmjs.com">abuse@npmjs.com</a> with a link to
|
using a confusingly similar package name, email <a href="mailto:abuse@npmjs.com">abuse@npmjs.com</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's publisher is intentionally misleading others by
|
<p>If we see that the package'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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-disputes — npm@4.0.5</p>
|
<p id="footer">npm-disputes — npm@4.1.1</p>
|
||||||
|
|
||||||
|
4
deps/npm/html/doc/misc/npm-index.html
vendored
4
deps/npm/html/doc/misc/npm-index.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-index — npm@4.0.5</p>
|
<p id="footer">npm-index — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/misc/npm-orgs.html
vendored
2
deps/npm/html/doc/misc/npm-orgs.html
vendored
@ -86,5 +86,5 @@
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-orgs — npm@4.0.5</p>
|
<p id="footer">npm-orgs — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/misc/npm-registry.html
vendored
2
deps/npm/html/doc/misc/npm-registry.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-registry — npm@4.0.5</p>
|
<p id="footer">npm-registry — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/misc/npm-scope.html
vendored
2
deps/npm/html/doc/misc/npm-scope.html
vendored
@ -94,5 +94,5 @@ that registry instead.</p>
|
|||||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-scope — npm@4.0.5</p>
|
<p id="footer">npm-scope — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/misc/npm-scripts.html
vendored
2
deps/npm/html/doc/misc/npm-scripts.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">npm-scripts — npm@4.0.5</p>
|
<p id="footer">npm-scripts — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/misc/removing-npm.html
vendored
2
deps/npm/html/doc/misc/removing-npm.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">removing-npm — npm@4.0.5</p>
|
<p id="footer">removing-npm — npm@4.1.1</p>
|
||||||
|
|
||||||
|
2
deps/npm/html/doc/misc/semver.html
vendored
2
deps/npm/html/doc/misc/semver.html
vendored
@ -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> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||||||
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p id="footer">semver — npm@4.0.5</p>
|
<p id="footer">semver — npm@4.1.1</p>
|
||||||
|
|
||||||
|
27
deps/npm/lib/cache/add-named.js
vendored
27
deps/npm/lib/cache/add-named.js
vendored
@ -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)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
3
deps/npm/lib/config/cmd-list.js
vendored
3
deps/npm/lib/config/cmd-list.js
vendored
@ -98,7 +98,8 @@ var cmdList = [
|
|||||||
'start',
|
'start',
|
||||||
'restart',
|
'restart',
|
||||||
'run-script',
|
'run-script',
|
||||||
'completion'
|
'completion',
|
||||||
|
'doctor'
|
||||||
]
|
]
|
||||||
|
|
||||||
var plumbing = [
|
var plumbing = [
|
||||||
|
4
deps/npm/lib/config/defaults.js
vendored
4
deps/npm/lib/config/defaults.js
vendored
@ -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
109
deps/npm/lib/doctor.js
vendored
Normal 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
|
||||||
|
}
|
55
deps/npm/lib/doctor/check-files-permission.js
vendored
Normal file
55
deps/npm/lib/doctor/check-files-permission.js
vendored
Normal 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
13
deps/npm/lib/doctor/check-ping.js
vendored
Normal 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
|
62
deps/npm/lib/doctor/checksum-cached-files.js
vendored
Normal file
62
deps/npm/lib/doctor/checksum-cached-files.js
vendored
Normal 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
13
deps/npm/lib/doctor/get-git-path.js
vendored
Normal 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
|
26
deps/npm/lib/doctor/get-latest-nodejs-version.js
vendored
Normal file
26
deps/npm/lib/doctor/get-latest-nodejs-version.js
vendored
Normal 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
|
13
deps/npm/lib/doctor/get-latest-npm-version.js
vendored
Normal file
13
deps/npm/lib/doctor/get-latest-npm-version.js
vendored
Normal 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
|
32
deps/npm/lib/fetch-package-metadata.js
vendored
32
deps/npm/lib/fetch-package-metadata.js
vendored
@ -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
|
||||||
|
8
deps/npm/lib/install.js
vendored
8
deps/npm/lib/install.js
vendored
@ -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
|
||||||
|
8
deps/npm/lib/install/deps.js
vendored
8
deps/npm/lib/install/deps.js
vendored
@ -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)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
30
deps/npm/lib/install/diff-trees.js
vendored
30
deps/npm/lib/install/diff-trees.js
vendored
@ -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
|
||||||
}
|
}
|
||||||
|
6
deps/npm/lib/install/save.js
vendored
6
deps/npm/lib/install/save.js
vendored
@ -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
3
deps/npm/lib/npm.js
vendored
@ -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)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
7
deps/npm/lib/outdated.js
vendored
7
deps/npm/lib/outdated.js
vendored
@ -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
88
deps/npm/lib/prune.js
vendored
@ -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)
|
|
||||||
}, [])
|
|
||||||
}
|
|
||||||
|
3
deps/npm/lib/uninstall.js
vendored
3
deps/npm/lib/uninstall.js
vendored
@ -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
7
deps/npm/lib/utils/ansi-trim.js
vendored
Normal 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
|
5
deps/npm/lib/utils/error-handler.js
vendored
5
deps/npm/lib/utils/error-handler.js
vendored
@ -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
39
deps/npm/lib/utils/metrics-launch.js
vendored
Normal 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
73
deps/npm/lib/utils/metrics.js
vendored
Normal 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)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
26
deps/npm/lib/utils/pick-manifest-from-registry-metadata.js
vendored
Normal file
26
deps/npm/lib/utils/pick-manifest-from-registry-metadata.js
vendored
Normal 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
|
||||||
|
}
|
||||||
|
}
|
2
deps/npm/man/man1/npm-README.1
vendored
2
deps/npm/man/man1/npm-README.1
vendored
@ -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
Loading…
x
Reference in New Issue
Block a user