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>
|
||||
Natalie Wolfe <nwolfe@newrelic.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)
|
||||
|
||||
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
|
||||
tended to see these errors due to, say, an antivirus-induced race condition,
|
||||
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)
|
||||
`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)
|
||||
`tap@8.0.1`
|
||||
([@Kat Marchán](https://github.com/Kat Marchán))
|
||||
([@zkat](https://github.com/zkat))
|
||||
|
||||
#### MISCELLANEOUS
|
||||
|
||||
@ -596,6 +809,7 @@ sending `Npm-Scope` and `Npm-In-CI` headers in outgoing requests.
|
||||
|
||||
* [`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#147](https://github.com/npm/npm-registry-client/pull/147)
|
||||
`npm-registry-client@7.3.0`:
|
||||
* Allow npm to add headers to outgoing requests.
|
||||
* 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 clean [<path>]
|
||||
aliases: npm cache clear, npm cache rm
|
||||
|
||||
## DESCRIPTION
|
||||
|
||||
Used to add, list, or clear the npm cache folder.
|
||||
Used to add, list, or clean the npm cache folder.
|
||||
|
||||
* add:
|
||||
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:
|
||||
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
|
||||
the entire cache is cleared.
|
||||
the entire cache is deleted.
|
||||
|
||||
## 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.
|
||||
|
||||
### 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
|
||||
|
||||
* 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.
|
||||
|
||||
### 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
|
||||
|
||||
* 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
|
||||
|
||||
### npm-doctor(1)
|
||||
|
||||
Check your environments
|
||||
|
||||
### npm-edit(1)
|
||||
|
||||
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 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"><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 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-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 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-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 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-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 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-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 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-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 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-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 clean [<path>]
|
||||
aliases: npm cache clear, npm cache rm
|
||||
</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>
|
||||
<li><p>add:
|
||||
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:
|
||||
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
|
||||
the entire cache is cleared.</p>
|
||||
the entire cache is deleted.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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
|
||||
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>
|
||||
<pre><code>npm@4.0.5 /path/to/npm
|
||||
<pre><code>npm@4.1.1 /path/to/npm
|
||||
└─┬ init-package-json@0.0.4
|
||||
└── promzard@0.1.5
|
||||
</code></pre><p>It will print out extraneous, missing, and invalid packages.</p>
|
||||
@ -104,5 +104,5 @@ project.</p>
|
||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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 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-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>
|
||||
<pre><code>npm <command> [args]
|
||||
</code></pre><h2 id="version">VERSION</h2>
|
||||
<p>4.0.5</p>
|
||||
<p>4.1.1</p>
|
||||
<h2 id="description">DESCRIPTION</h2>
|
||||
<p>npm is the package manager for the Node JavaScript platform. It puts
|
||||
modules in place so that node can find them, and manages dependency
|
||||
@ -126,7 +126,7 @@ will no doubt tell you to put the output in a gist or email.</p>
|
||||
<p><a href="http://blog.izs.me/">Isaac Z. Schlueter</a> ::
|
||||
<a href="https://github.com/isaacs/">isaacs</a> ::
|
||||
<a href="http://twitter.com/izs">@izs</a> ::
|
||||
<a href="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>
|
||||
<ul>
|
||||
<li><a href="../cli/npm-help.html">npm-help(1)</a></li>
|
||||
@ -150,5 +150,5 @@ will no doubt tell you to put the output in a gist or email.</p>
|
||||
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </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 — 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 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-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 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-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 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">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 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">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 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">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>
|
||||
<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>
|
||||
<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>
|
||||
<p>Edit an installed package</p>
|
||||
<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 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-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 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-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>
|
||||
<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>
|
||||
<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>
|
||||
<ul>
|
||||
<li>Default: process.version</li>
|
||||
@ -722,6 +728,15 @@ first on the <code>PATH</code> are different.</p>
|
||||
<li>Type: Number</li>
|
||||
</ul>
|
||||
<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>
|
||||
<ul>
|
||||
<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 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-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 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-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>
|
||||
<ol>
|
||||
<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>
|
||||
</ol>
|
||||
<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>Alice emails Yusuf, explaining the situation <strong>as respectfully as possible</strong>,
|
||||
and what she would like to do with the module name. She adds the npm support
|
||||
staff <a href="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
|
||||
foo package.</li>
|
||||
<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
|
||||
<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>
|
||||
</ol>
|
||||
<h2 id="reasoning">REASONING</h2>
|
||||
@ -96,12 +96,12 @@ application database or otherwise putting non-packagey things into it.</li>
|
||||
<a href="https://www.npmjs.com/policies/conduct">Code of Conduct</a> such as hateful
|
||||
language, pornographic content, or harassment.</li>
|
||||
</ol>
|
||||
<p>If you see bad behavior like this, please report it to <a href="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
|
||||
here to help.</strong></p>
|
||||
<h2 id="trademarks">TRADEMARKS</h2>
|
||||
<p>If you think another npm publisher is infringing your trademark, such as by
|
||||
using a confusingly similar package name, email <a href="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
|
||||
copy of your trademark registration certificate.</p>
|
||||
<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 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-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>
|
||||
<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>
|
||||
<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>
|
||||
<p>Edit an installed package</p>
|
||||
<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 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-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 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-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 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-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 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-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 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-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 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">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 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">semver — npm@4.0.5</p>
|
||||
<p id="footer">semver — npm@4.1.1</p>
|
||||
|
||||
|
25
deps/npm/lib/cache/add-named.js
vendored
25
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 pulseTillDone = require('../utils/pulse-till-done.js')
|
||||
var packageId = require('../utils/package-id.js')
|
||||
var pickManifestFromRegistryMetadata = require('../utils/pick-manifest-from-registry-metadata.js')
|
||||
|
||||
module.exports = addNamed
|
||||
|
||||
@ -252,29 +253,11 @@ function addNameRange (name, range, data, cb) {
|
||||
log.silly('addNameRange', 'versions'
|
||||
, [data.name, Object.keys(data.versions || {})])
|
||||
|
||||
// if the tagged version satisfies, then use that.
|
||||
var tagged = data['dist-tags'][npm.config.get('tag')]
|
||||
if (tagged &&
|
||||
data.versions[tagged] &&
|
||||
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 {
|
||||
var versions = Object.keys(data.versions).filter(function (v) { return semver.valid(v) })
|
||||
var picked = pickManifestFromRegistryMetadata(range, npm.config.get('tag'), versions, data)
|
||||
if (picked) return addNamed(name, picked.resolvedTo, picked.manifest, cb)
|
||||
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)
|
||||
}
|
||||
}
|
||||
|
||||
function installTargetsError (requested, data) {
|
||||
|
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',
|
||||
'restart',
|
||||
'run-script',
|
||||
'completion'
|
||||
'completion',
|
||||
'doctor'
|
||||
]
|
||||
|
||||
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,
|
||||
maxsockets: 50,
|
||||
message: '%s',
|
||||
'metrics-registry': 'https://registry.npmjs.org/',
|
||||
'node-version': process.version,
|
||||
'onload-script': false,
|
||||
only: null,
|
||||
@ -196,6 +197,7 @@ Object.defineProperty(exports, 'defaults', {get: function () {
|
||||
searchopts: '',
|
||||
searchexclude: null,
|
||||
searchstaleness: 15 * 60,
|
||||
'send-metrics': false,
|
||||
shell: osenv.shell(),
|
||||
shrinkwrap: true,
|
||||
'sign-git-tag': false,
|
||||
@ -279,6 +281,7 @@ exports.types = {
|
||||
long: Boolean,
|
||||
maxsockets: Number,
|
||||
message: String,
|
||||
'metrics-registry': String,
|
||||
'node-version': [null, semver],
|
||||
'onload-script': [null, String],
|
||||
only: [null, 'dev', 'development', 'prod', 'production'],
|
||||
@ -303,6 +306,7 @@ exports.types = {
|
||||
searchopts: String,
|
||||
searchexclude: [null, String],
|
||||
searchstaleness: Number,
|
||||
'send-metrics': Boolean,
|
||||
shell: String,
|
||||
shrinkwrap: 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 pulseTillDone = require('./utils/pulse-till-done.js')
|
||||
var parseJSON = require('./utils/parse-json.js')
|
||||
var pickManifestFromRegistryMetadata = require('./utils/pick-manifest-from-registry-metadata.js')
|
||||
|
||||
function andLogAndFinish (spec, tracker, done) {
|
||||
validate('SF', [spec, done])
|
||||
@ -113,7 +114,7 @@ function fetchNamedPackageData (dep, next) {
|
||||
} else {
|
||||
npm.registry.get(url, {auth: auth}, pulseTillDone('fetchMetadata', iferr(next, pickVersionFromRegistryDocument)))
|
||||
}
|
||||
function returnAndAddMetadata (pkg) {
|
||||
function thenAddMetadata (pkg) {
|
||||
pkg._from = dep.raw
|
||||
pkg._resolved = pkg.dist.tarball
|
||||
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(', '))
|
||||
}
|
||||
|
||||
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') {
|
||||
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 {
|
||||
var latestVersion = pkg['dist-tags'][npm.config.get('tag')] || versions[0]
|
||||
|
||||
// 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])
|
||||
}
|
||||
var picked = pickManifestFromRegistryMetadata(dep.spec, npm.config.get('tag'), versions, pkg)
|
||||
if (picked) return thenAddMetadata(picked.manifest)
|
||||
}
|
||||
|
||||
// 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 parseJSON = require('./utils/parse-json.js')
|
||||
var output = require('./utils/output.js')
|
||||
var saveMetrics = require('./utils/metrics.js').save
|
||||
|
||||
// install specific libraries
|
||||
var copyTree = require('./install/copy-tree.js')
|
||||
@ -216,9 +217,14 @@ function Installer (where, dryrun, args) {
|
||||
}
|
||||
Installer.prototype = {}
|
||||
|
||||
Installer.prototype.run = function (cb) {
|
||||
Installer.prototype.run = function (_cb) {
|
||||
validate('F', arguments)
|
||||
|
||||
var cb = function (err) {
|
||||
saveMetrics(!err)
|
||||
return _cb.apply(this, arguments)
|
||||
}
|
||||
|
||||
// FIXME: This is bad and I should feel bad.
|
||||
// lib/install needs to have some way of sharing _limited_
|
||||
// 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
|
||||
function removeObsoleteDep (child) {
|
||||
function removeObsoleteDep (child, log) {
|
||||
if (child.removed) return
|
||||
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
|
||||
if (child.parent) {
|
||||
child.parent.children = child.parent.children.filter(function (pchild) { return pchild !== child })
|
||||
@ -199,7 +203,7 @@ function removeObsoleteDep (child) {
|
||||
var requires = child.requires || []
|
||||
requires.forEach(function (requirement) {
|
||||
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
|
||||
}
|
||||
|
||||
function getNameAndVersion (pkg) {
|
||||
function getUniqueId (pkg) {
|
||||
var versionspec = pkg._shasum
|
||||
|
||||
if (!versionspec && nonRegistrySource(pkg)) {
|
||||
@ -113,21 +113,25 @@ var sortActions = module.exports.sortActions = function (differences) {
|
||||
return sorted
|
||||
}
|
||||
|
||||
function setAction (differences, action, pkg) {
|
||||
differences.push([action, pkg])
|
||||
}
|
||||
|
||||
var diffTrees = module.exports._diffTrees = function (oldTree, newTree) {
|
||||
validate('OO', arguments)
|
||||
var differences = []
|
||||
var flatOldTree = flattenTree(oldTree)
|
||||
var flatNewTree = flattenTree(newTree)
|
||||
var toRemove = {}
|
||||
var toRemoveByNameAndVer = {}
|
||||
var toRemoveByUniqueId = {}
|
||||
// find differences
|
||||
Object.keys(flatOldTree).forEach(function (flatname) {
|
||||
if (flatNewTree[flatname]) return
|
||||
var pkg = flatOldTree[flatname]
|
||||
toRemove[flatname] = pkg
|
||||
var namever = getNameAndVersion(pkg.package)
|
||||
if (!toRemoveByNameAndVer[namever]) toRemoveByNameAndVer[namever] = []
|
||||
toRemoveByNameAndVer[namever].push(flatname)
|
||||
var pkgunique = getUniqueId(pkg.package)
|
||||
if (!toRemoveByUniqueId[pkgunique]) toRemoveByUniqueId[pkgunique] = []
|
||||
toRemoveByUniqueId[pkgunique].push(flatname)
|
||||
})
|
||||
Object.keys(flatNewTree).forEach(function (path) {
|
||||
var pkg = flatNewTree[path]
|
||||
@ -138,21 +142,21 @@ var diffTrees = module.exports._diffTrees = function (oldTree, newTree) {
|
||||
if (pkg.oldPkg) {
|
||||
if (!pkg.userRequired && pkgAreEquiv(pkg.oldPkg.package, pkg.package)) return
|
||||
if (!pkg.isInLink && (isLink(pkg.oldPkg) || isLink(pkg))) {
|
||||
differences.push(['update-linked', pkg])
|
||||
setAction(differences, 'update-linked', pkg)
|
||||
} else {
|
||||
differences.push(['update', pkg])
|
||||
setAction(differences, 'update', pkg)
|
||||
}
|
||||
} else {
|
||||
var vername = getNameAndVersion(pkg.package)
|
||||
var removing = toRemoveByNameAndVer[vername] && toRemoveByNameAndVer[vername].length
|
||||
var vername = getUniqueId(pkg.package)
|
||||
var removing = toRemoveByUniqueId[vername] && toRemoveByUniqueId[vername].length
|
||||
var bundlesOrFromBundle = pkg.fromBundle || pkg.package.bundleDependencies
|
||||
if (removing && !bundlesOrFromBundle) {
|
||||
var flatname = toRemoveByNameAndVer[vername].shift()
|
||||
var flatname = toRemoveByUniqueId[vername].shift()
|
||||
pkg.fromPath = toRemove[flatname].path
|
||||
differences.push(['move', pkg])
|
||||
setAction(differences, 'move', pkg)
|
||||
delete toRemove[flatname]
|
||||
} else {
|
||||
differences.push(['add', pkg])
|
||||
setAction(differences, 'add', pkg)
|
||||
}
|
||||
}
|
||||
})
|
||||
@ -160,7 +164,7 @@ var diffTrees = module.exports._diffTrees = function (oldTree, newTree) {
|
||||
.keys(toRemove)
|
||||
.map(function (path) { return toRemove[path] })
|
||||
.forEach(function (pkg) {
|
||||
differences.push(['remove', pkg])
|
||||
setAction(differences, 'remove', pkg)
|
||||
})
|
||||
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
|
||||
})
|
||||
} else {
|
||||
return url.format({
|
||||
protocol: 'file',
|
||||
slashes: false,
|
||||
pathname: relativePath
|
||||
})
|
||||
return 'file:' + relativePath
|
||||
}
|
||||
} else if (requested.type === 'hosted') {
|
||||
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 plumbing = require('./config/cmd-list').plumbing
|
||||
var output = require('./utils/output.js')
|
||||
var startMetrics = require('./utils/metrics.js').start
|
||||
|
||||
npm.config = {
|
||||
loaded: false,
|
||||
@ -308,6 +309,8 @@
|
||||
// go ahead and spin up the registry client.
|
||||
npm.registry = new CachingRegClient(npm.config)
|
||||
|
||||
startMetrics()
|
||||
|
||||
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 moduleName = require('./utils/module-name.js')
|
||||
var output = require('./utils/output.js')
|
||||
var ansiTrim = require('./utils/ansi-trim')
|
||||
|
||||
function uniqName (item) {
|
||||
return item[0].path + '|' + item[1] + '|' + item[7]
|
||||
@ -149,12 +150,6 @@ function makePretty (p) {
|
||||
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) {
|
||||
return list.map(function (p) {
|
||||
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.
|
||||
|
||||
module.exports = prune
|
||||
module.exports.Pruner = Pruner
|
||||
|
||||
prune.usage = 'npm prune [[<@scope>/]<pkg>...] [--production]'
|
||||
|
||||
var readInstalled = require('read-installed')
|
||||
var npm = require('./npm.js')
|
||||
var path = require('path')
|
||||
var readJson = require('read-package-json')
|
||||
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')
|
||||
|
||||
function prune (args, cb) {
|
||||
// check if is a valid package.json file
|
||||
var jsonFile = path.resolve(npm.dir, '..', 'package.json')
|
||||
readJson(jsonFile, log.warn, function (er) {
|
||||
if (er) return cb(er)
|
||||
next()
|
||||
})
|
||||
|
||||
function next () {
|
||||
var opt = {
|
||||
depth: npm.config.get('depth'),
|
||||
dev: !npm.config.get('production') || npm.config.get('dev')
|
||||
}
|
||||
readInstalled(npm.prefix, opt, function (er, data) {
|
||||
if (er) return cb(er)
|
||||
prune_(args, data, cb)
|
||||
})
|
||||
}
|
||||
var dryrun = !!npm.config.get('dry-run')
|
||||
new Pruner('.', dryrun, args).run(cb)
|
||||
}
|
||||
|
||||
function prune_ (args, data, cb) {
|
||||
npm.commands.unbuild(prunables(args, data, []), cb)
|
||||
function Pruner (where, dryrun, args) {
|
||||
Installer.call(this, where, dryrun, args)
|
||||
}
|
||||
util.inherits(Pruner, Installer)
|
||||
|
||||
Pruner.prototype.loadAllDepsIntoIdealTree = function (cb) {
|
||||
log.silly('uninstall', 'loadAllDepsIntoIdealtree')
|
||||
|
||||
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 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)
|
||||
}, [])
|
||||
}
|
||||
Pruner.prototype.runPreinstallTopLevelLifecycles = function (cb) { cb() }
|
||||
Pruner.prototype.runPostinstallTopLevelLifecycles = function (cb) { cb() }
|
||||
|
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')])
|
||||
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 writeStreamAtomic = require('fs-write-stream-atomic')
|
||||
var errorMessage = require('./error-message.js')
|
||||
var stopMetrics = require('./metrics.js').stop
|
||||
|
||||
process.on('exit', function (code) {
|
||||
log.disableProgress()
|
||||
if (!npm.config || !npm.config.loaded) return
|
||||
|
||||
// kill any outstanding stats reporter if it hasn't finished yet
|
||||
stopMetrics()
|
||||
|
||||
if (code) itWorked = false
|
||||
if (itWorked) log.info('ok')
|
||||
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"
|
||||
\fBnpm\fR \- a JavaScript package manager
|
||||
.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