deps: upgrade npm to 6.10.2

PR-URL: https://github.com/nodejs/node/pull/28853
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
This commit is contained in:
isaacs 2019-07-24 23:00:03 -07:00 committed by Michaël Zasso
parent 37d27486fc
commit d7d321b071
No known key found for this signature in database
GPG Key ID: 770F7A9A5AE15600
603 changed files with 12011 additions and 22583 deletions

3
deps/npm/.mailmap vendored
View File

@ -28,7 +28,8 @@ Geoff Flarity <geoff.flarity@gmail.com> <gflarity@raptvm-x02.(none)>
Gregers Gram Rygg <gregers.gram.rygg@finn.no>
Ifeanyi Oraelosi <ifeanyioraelosi@gmail.com>
Isaac Z. Schlueter <i@izs.me> <i@foohack.com>
Isaac Z. Schlueter <i@izs.me> isaacs <i@izs.me>
Isaac Z. Schlueter <i@izs.me>
isaacs <i@izs.me>
Jake Verbaten <raynos2@gmail.com>
James Sanders <jimmyjazz14@gmail.com>
James Treworgy <jamietre@gmail.com>

View File

@ -1,4 +1,4 @@
sudo: false
sudo: true
# need to declare the language as well as the matrix below
language: node_js
# having top-level `env:` adds a phantom build
@ -12,7 +12,8 @@ matrix:
# only gather coverage info for LTS
env: DEPLOY_VERSION=testing COVERALLS_REPO_TOKEN="$COVERALLS_OPTIONAL_TOKEN"
script:
- "node . run tap-cover -- \"test/tap/*.js\""
# run the sudo tests, with coverage enabled
- "sudo PATH=$PATH $(which node) . run tap -- \"test/tap/*.js\" --coverage"
- "unset COVERALLS_REPO_TOKEN ; node . run tap -- \"test/broken-under-*/*.js\""
# previous LTS is next most important
- node_js: "10"

8
deps/npm/AUTHORS vendored
View File

@ -1,5 +1,6 @@
# Authors sorted by whether or not they're me
Isaac Z. Schlueter <i@izs.me>
isaacs <i@izs.me>
Steve Steiner <ssteinerX@gmail.com>
Mikeal Rogers <mikeal.rogers@gmail.com>
Aaron Blohowiak <aaron.blohowiak@gmail.com>
@ -641,3 +642,10 @@ COURIER, CALEB [AG/1000] <caleb.courier@monsanto.com>
CalebCourier <caleb.courier@monsanto.com>
Florian Keller <florian.keller@wire.com>
Sreeram Jayan <sreeram.jayan@cerner.com>
--get <lars.willighagen@gmail.com>
raywu0123 <b05901189@ntu.edu.tw>
isaacs <nope@not.real>
Iván Reinoso García <ireinoso@plainconcepts.com>
Roy Marples <roy@marples.name>
Robert James Gabriel <robert_gabriel@outlook.com>
John Firebaugh <john.firebaugh@gmail.com>

174
deps/npm/CHANGELOG.md vendored
View File

@ -1,3 +1,177 @@
## v6.10.2 (2019-07-23):
tl;dr - Fixes several issues with the cache when npm is run as `sudo` on
Unix systems.
### TESTING
* [`2a78b96f8`](https://github.com/npm/cli/commit/2a78b96f830bbd834720ccc9eacccc54915ae6f7)
check test cache for root-owned files
([@isaacs](https://github.com/isaacs))
* [`108646ebc`](https://github.com/npm/cli/commit/108646ebc12f3eeebaa0a45884c45991a45e57e4)
run sudo tests on Travis-CI ([@isaacs](https://github.com/isaacs))
* [`cf984e946`](https://github.com/npm/cli/commit/cf984e946f453cbea2fcc7a59608de3f24ab74c3)
set --no-esm tap flag ([@isaacs](https://github.com/isaacs))
* [`8e0a3100d`](https://github.com/npm/cli/commit/8e0a3100dffb3965bb3dc4240e82980dfadf2f3c)
add script to run tests and leave fixtures for inspection and debugging
([@isaacs](https://github.com/isaacs))
### BUGFIXES
* [`25f4f73f6`](https://github.com/npm/cli/commit/25f4f73f6dc9744757787c82351120cd1baee5f8)
add a util for writing arbitrary files to cache This prevents metrics
timing and debug logs from becoming root-owned.
([@isaacs](https://github.com/isaacs))
* [`2c61ce65d`](https://github.com/npm/cli/commit/2c61ce65d6b67100fdf3fcb9729055b669cb1a1d)
infer cache owner from parent dir in `correct-mkdir` util
([@isaacs](https://github.com/isaacs))
* [`235e5d6df`](https://github.com/npm/cli/commit/235e5d6df6f427585ec58425f1f3339d08f39d8a)
ensure correct owner on cached all-packages metadata
([@isaacs](https://github.com/isaacs))
* [`e2d377bb6`](https://github.com/npm/cli/commit/e2d377bb6419d8a3c1d80a73dba46062b4dad336)
[npm.community#8540](https://npm.community/t/npm-audit-fails-with-child-requires-fails-because-requires-must-be-an-object/8540)
audit: report server error on failure
([@isaacs](https://github.com/isaacs))
* [`52576a39e`](https://github.com/npm/cli/commit/52576a39ed75d94c46bb2c482fd38d2c6ea61c56)
[#216](https://github.com/npm/cli/pull/216)
[npm.community#5385](https://npm.community/t/6-8-0-npm-ci-fails-with-local-dependency/5385)
[npm.community#6076](https://npm.community/t/npm-ci-fail-to-local-packages/6076)
Fix `npm ci` with `file:` dependencies. Partially reverts
[#40](https://github.com/npm/cli/pull/40)/[#86](https://github.com/npm/cli/pull/86),
recording dependencies of linked deps in order for `npm ci` to work.
([@jfirebaugh](https://github.com/jfirebaugh))
### DEPENDENCIES
* [`0fefdee13`](https://github.com/npm/cli/commit/0fefdee130fd7d0dbb240fb9ecb50a793fbf3d29)
`cacache@12.0.2` ([@isaacs](https://github.com/isaacs))
* infer uid/gid instead of accepting as options, preventing the
overwhelming majority of cases where root-owned files end up in the
cache folder.
([ac84d14](https://github.com/npm/cacache/commit/ac84d14))
([@isaacs](https://github.com/isaacs))
([#1](https://github.com/npm/cacache/pull/1))
* **i18n:** add another error message
([676cb32](https://github.com/npm/cacache/commit/676cb32))
([@zkat](https://github.com/zkat))
* [`e1d87a392`](https://github.com/npm/cli/commit/e1d87a392371a070b0788ab7bfc62be18b21e9ad)
`pacote@9.5.4` ([@isaacs](https://github.com/isaacs))
* git: ensure stream failures are reported
([7f07b5d](https://github.com/npm/pacote/commit/7f07b5d))
[#1](https://github.com/npm/pacote/issues/1)
([@lddubeau](https://github.com/lddubeau))
* [`3f035bf09`](https://github.com/npm/cli/commit/3f035bf098e2feea76574cec18b04812659aa16d)
`infer-owner@1.0.4` ([@isaacs](https://github.com/isaacs))
* [`ba3283112`](https://github.com/npm/cli/commit/ba32831126591d2f6f48e31a4a2329b533b1ff19)
`npm-registry-fetch@4.0.0` ([@isaacs](https://github.com/isaacs))
* [`ee90c334d`](https://github.com/npm/cli/commit/ee90c334d271383d0325af42f20f80f34cb61f07)
`libnpm@3.0.1` ([@isaacs](https://github.com/isaacs))
* [`1e480c384`](https://github.com/npm/cli/commit/1e480c38416982ae28b5cdd48c698ca59d3c0395)
`libnpmaccess@3.0.2` ([@isaacs](https://github.com/isaacs))
* [`7662ee850`](https://github.com/npm/cli/commit/7662ee850220c71ecaec639adbc7715286f0d28b)
`libnpmhook@5.0.3` ([@isaacs](https://github.com/isaacs))
* [`1357fadc6`](https://github.com/npm/cli/commit/1357fadc613d0bfeb40f9a8f3ecace2face2fe2c)
`libnpmorg@1.0.1` ([@isaacs](https://github.com/isaacs))
* [`a621b5cb6`](https://github.com/npm/cli/commit/a621b5cb6c881f95a11af86a8051754a67ae017c)
`libnpmsearch@2.0.2` ([@isaacs](https://github.com/isaacs))
* [`560cd31dd`](https://github.com/npm/cli/commit/560cd31dd51b6aa2e396ccdd7289fab0a50b5608)
`libnpmteam@1.0.2` ([@isaacs](https://github.com/isaacs))
* [`de7ae0867`](https://github.com/npm/cli/commit/de7ae0867d4c0180edc283457ce0b4e8e5eee554)
`npm-profile@4.0.2` ([@isaacs](https://github.com/isaacs))
* [`e95da463c`](https://github.com/npm/cli/commit/e95da463cb7a325457ef411a569d7ef4bf76901d)
`libnpm@3.0.1` ([@isaacs](https://github.com/isaacs))
* [`554b641d4`](https://github.com/npm/cli/commit/554b641d49d135ae8d137e83aa288897c32dacc6)
`npm-registry-fetch@4.0.0` ([@isaacs](https://github.com/isaacs))
* [`06772f34a`](https://github.com/npm/cli/commit/06772f34ab851440dcd78574736936c674a84aed)
`node-gyp@5.0.3` ([@isaacs](https://github.com/isaacs))
* [`85358db80`](https://github.com/npm/cli/commit/85358db80d6ccb5f7bc9a0b4d558ac6dd2468394)
`npm-lifecycle@3.1.2` ([@isaacs](https://github.com/isaacs))
* [`051cf20`](https://github.com/npm/npm-lifecycle/commit/051cf20072a01839c17920d2e841756251c4f924)
[#26](https://github.com/npm/npm-lifecycle/pull/26) fix switches for
alternative shells on Windows
([@gucong3000](https://github.com/gucong3000))
* [`3aaf954`](https://github.com/npm/npm-lifecycle/commit/3aaf95435965e8f7acfd955582cf85237afd2c9b)
[#25](https://github.com/npm/npm-lifecycle/pull/25) set only one PATH
env variable for child process on Windows
([@zkochan](https://github.com/zkochan))
* [`ea18ed2`](https://github.com/npm/npm-lifecycle/commit/ea18ed2b754ca7f11998cad70d88e9004c5bef4a)
[#36](https://github.com/npm/npm-lifecycle/pull/36)
[#11](https://github.com/npm/npm-lifecycle/issue/11)
[#18](https://github.com/npm/npm-lifecycle/issue/18) remove
procInterrupt listener on SIGINT in procError
([@mattshin](https://github.com/mattshin))
* [`5523951`](https://github.com/npm/npm-lifecycle/commit/55239519c57b82521605622e6c71640a31ed4586)
[#29](https://github.com/npm/npm-lifecycle/issue/29)
[#30](https://github.com/npm/npm-lifecycle/pull/30) Use platform
specific path casing if present
([@mattezell](https://github.com/mattezell))
## v6.10.1 (2019-07-11):
### BUGFIXES
* [`3cbd57712`](https://github.com/npm/cli/commit/3cbd577120a9da6e51bb8b13534d1bf71ea5712c)
fix(git): strip GIT environs when running git
([@isaacs](https://github.com/isaacs))
* [`a81a8c4c4`](https://github.com/npm/cli/commit/a81a8c4c466f510215a51cef1bb08544d11844fe)
[#206](https://github.com/npm/cli/pull/206) improve isOnly(Dev,Optional)
([@larsgw](https://github.com/larsgw))
* [`172f9aca6`](https://github.com/npm/cli/commit/172f9aca67a66ee303c17f90a994cd52fc66552a)
[#179](https://github.com/npm/cli/pull/179) fix-xmas-underline
([@raywu0123](https://github.com/raywu0123))
* [`f52673fc7`](https://github.com/npm/cli/commit/f52673fc7284e58af8c04533e82b76bf7add72cf)
[#212](https://github.com/npm/cli/pull/212) build: use `/usr/bin/env` to
load bash ([@rsmarples](https://github.com/rsmarples))
### DEPENDENCIES
* [`ef4445ad3`](https://github.com/npm/cli/commit/ef4445ad34a53b5639499c8e3c9752f62ee6f37c)
[#208](https://github.com/npm/cli/pull/208) `node-gyp@5.0.2`
([@irega](https://github.com/irega))
* [`c0d611356`](https://github.com/npm/cli/commit/c0d611356f7b23077e97574b01c8886e544db425)
`npm-lifecycle@3.0.0` ([@isaacs](https://github.com/isaacs))
* [`7716ba972`](https://github.com/npm/cli/commit/7716ba9720270d5b780755a5bb1ce79702067f1f)
`libcipm@4.0.0` ([@isaacs](https://github.com/isaacs))
* [`42d22e837`](https://github.com/npm/cli/commit/42d22e8374c7d303d94e405d7385d94dd2558814)
`libnpm@3.0.0` ([@isaacs](https://github.com/isaacs))
* [`a2ea7f9ff`](https://github.com/npm/cli/commit/a2ea7f9ff64ae743d05fdbf7d46fb9afafa8aa6f)
`semver@5.7.0` ([@isaacs](https://github.com/isaacs))
* [`429226a5e`](https://github.com/npm/cli/commit/429226a5e992cd907d4f19bd738037007cf78c1f)
`lru-cache@5.1.1` ([@isaacs](https://github.com/isaacs))
* [`175670ea6`](https://github.com/npm/cli/commit/175670ea65cca03f8b2e957df3dd4b8b0efd0e1f)
`npm-registry-fetch@3.9.1`: ([@isaacs](https://github.com/isaacs))
* [`0d0517f7f`](https://github.com/npm/cli/commit/0d0517f7f8c902b5064ac18fb4015b31750ad2b2)
`call-limit@1.1.1` ([@isaacs](https://github.com/isaacs))
* [`741400429`](https://github.com/npm/cli/commit/74140042917ea241062a812ceb65c5423c2bafa9)
`glob@7.1.4` ([@isaacs](https://github.com/isaacs))
* [`bddd60e30`](https://github.com/npm/cli/commit/bddd60e302283a4a70d35f8f742e42bd13f4dabf)
`inherits@2.0.4` ([@isaacs](https://github.com/isaacs))
* [`4acf03fd1`](https://github.com/npm/cli/commit/4acf03fd140ed3ddb2dcf3fdc9756bc3f5a8bcbb)
`libnpmsearch@2.0.1` ([@isaacs](https://github.com/isaacs))
* [`c2bd17291`](https://github.com/npm/cli/commit/c2bd17291a86bea7ced2fbd07d66d013bd7a7560)
`marked@0.6.3` ([@isaacs](https://github.com/isaacs))
* [`7f0221bb1`](https://github.com/npm/cli/commit/7f0221bb1bb41ffc933c785940e227feae38c80c)
`marked-man@0.6.0` ([@isaacs](https://github.com/isaacs))
* [`f458fe7dd`](https://github.com/npm/cli/commit/f458fe7dd3bebddf603aaae183a424ea8aaa018f)
`npm-lifecycle@2.1.1` ([@isaacs](https://github.com/isaacs))
* [`009752978`](https://github.com/npm/cli/commit/0097529780269c28444f1efa0d7c131d47a933eb)
`node-gyp@4.0.0` ([@isaacs](https://github.com/isaacs))
* [`0fa2bb438`](https://github.com/npm/cli/commit/0fa2bb4386379d6e9d8c95db08662ec0529964f9)
`query-string@6.8.1` ([@isaacs](https://github.com/isaacs))
* [`b86450929`](https://github.com/npm/cli/commit/b86450929796950a1fe4b1f9b02b1634c812f3bb)
`tar-stream@2.1.0` ([@isaacs](https://github.com/isaacs))
* [`25db00fe9`](https://github.com/npm/cli/commit/25db00fe953453198adb9e1bd71d1bc2a9f04aaa)
`worker-farm@1.7.0` ([@isaacs](https://github.com/isaacs))
* [`8dfbe8610`](https://github.com/npm/cli/commit/8dfbe861085dfa8fa56bb504b4a00fba04c34f9d)
`readable-stream@3.4.0` ([@isaacs](https://github.com/isaacs))
* [`f6164d5dd`](https://github.com/npm/cli/commit/f6164d5ddd072eabdf2237f1694a31efd746eb1d)
[isaacs/chownr#21](https://github.com/isaacs/chownr/pull/21)
[isaacs/chownr#20](https://github.com/isaacs/chownr/issues/20)
[npm.community#7901](https://npm.community/t/7901/)
[npm.community#8203](https://npm.community/t/8203) `chownr@1.1.2` This
fixes an EISDIR error from cacache on Darwin in Node versions prior to
10.6. ([@isaacs](https://github.com/isaacs))
## v6.10.0 (2019-07-03):
### FEATURES

2
deps/npm/configure vendored
View File

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# set configurations that will be "sticky" on this system,
# surviving npm self-updates.

View File

@ -20,6 +20,7 @@ semver.clean(' =v1.2.3 ') // '1.2.3'
semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true
semver.gt('1.2.3', '9.8.7') // false
semver.lt('1.2.3', '9.8.7') // true
semver.minVersion('>=1.0.0') // '1.0.0'
semver.valid(semver.coerce('v2')) // '2.0.0'
semver.valid(semver.coerce('42.6.7.9.3-alpha')) // '42.6.7'
```
@ -29,7 +30,7 @@ As a command-line utility:
```
$ semver -h
A JavaScript implementation of the http://semver.org/ specification
A JavaScript implementation of the https://semver.org/ specification
Copyright Isaac Z. Schlueter
Usage: semver [options] <version> [<version> [...]]
@ -71,7 +72,7 @@ multiple versions to the utility will just sort them.
## Versions
A "version" is described by the `v2.0.0` specification found at
<http://semver.org/>.
<https://semver.org/>.
A leading `"="` or `"v"` character is stripped off and ignored.
@ -137,6 +138,13 @@ the user is indicating that they are aware of the risk. However, it
is still not appropriate to assume that they have opted into taking a
similar risk on the *next* set of prerelease versions.
Note that this behavior can be suppressed (treating all prerelease
versions as if they were normal versions, for the purpose of range
matching) by setting the `includePrerelease` flag on the options
object to any
[functions](https://github.com/npm/node-semver#functions) that do
range matching.
#### Prerelease Identifiers
The method `.inc` takes an additional `identifier` string argument that
@ -325,6 +333,8 @@ strings that they parse.
* `patch(v)`: Return the patch version number.
* `intersects(r1, r2, loose)`: Return true if the two supplied ranges
or comparators intersect.
* `parse(v)`: Attempt to parse a string as a semantic version, returning either
a `SemVer` object or `null`.
### Comparison
@ -361,6 +371,8 @@ strings that they parse.
that satisfies the range, or `null` if none of them do.
* `minSatisfying(versions, range)`: Return the lowest version in the list
that satisfies the range, or `null` if none of them do.
* `minVersion(range)`: Return the lowest version that can possibly match
the given range.
* `gtr(version, range)`: Return `true` if version is greater than all the
versions possible in the range.
* `ltr(version, range)`: Return `true` if version is less than all the

View File

@ -118,5 +118,5 @@ doubt tell you to put the output in a gist or email.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@6.10.0</p>
<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@6.10.2</p>

View File

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

View File

@ -78,5 +78,5 @@ username/password entry in legacy npm.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-adduser &mdash; npm@6.10.0</p>
<p id="footer">npm-adduser &mdash; npm@6.10.2</p>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -58,4 +58,4 @@ incrementally-installed local environments of most npm users.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-ci &mdash; npm@6.10.0</p>
<p id="footer">npm-ci &mdash; npm@6.10.2</p>

View File

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

View File

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

View File

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

View File

@ -38,5 +38,5 @@ format an empty string.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-deprecate &mdash; npm@6.10.0</p>
<p id="footer">npm-deprecate &mdash; npm@6.10.2</p>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -52,4 +52,4 @@ request came from your own configured hook.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-hook &mdash; npm@6.10.0</p>
<p id="footer">npm-hook &mdash; npm@6.10.2</p>

View File

@ -61,5 +61,5 @@ will create a scoped package.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-init &mdash; npm@6.10.0</p>
<p id="footer">npm-init &mdash; npm@6.10.2</p>

View File

@ -32,4 +32,4 @@ alias: npm cit</code></pre><h2 id="description">DESCRIPTION</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-install-ci-test &mdash; npm@6.10.0</p>
<p id="footer">npm-install-ci-test &mdash; npm@6.10.2</p>

View File

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

View File

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

View File

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

View File

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

View File

@ -20,7 +20,7 @@ installed, as well as their dependencies, in a tree-structure.</p>
limit the results to only the paths to the packages named. Note that
nested packages will <em>also</em> show the paths to the specified packages.
For example, running <code>npm ls promzard</code> in npm&#39;s source tree will show:</p>
<pre><code>npm@6.10.0 /path/to/npm
<pre><code>npm@6.10.2 /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>
<p>If a project specifies git urls for dependencies these are shown
@ -108,5 +108,5 @@ project.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-ls &mdash; npm@6.10.0</p>
<p id="footer">npm-ls &mdash; npm@6.10.2</p>

View File

@ -40,4 +40,4 @@ finding specific ones and their roles.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-org &mdash; npm@6.10.0</p>
<p id="footer">npm-org &mdash; npm@6.10.2</p>

View File

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

View File

@ -53,5 +53,5 @@ with <code>--otp</code>.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-owner &mdash; npm@6.10.0</p>
<p id="footer">npm-owner &mdash; npm@6.10.2</p>

View File

@ -42,5 +42,5 @@ actually packing anything. Reports on what would have gone into the tarball.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-pack &mdash; npm@6.10.0</p>
<p id="footer">npm-pack &mdash; npm@6.10.2</p>

View File

@ -33,5 +33,5 @@ If it works it will output something like:</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-ping &mdash; npm@6.10.0</p>
<p id="footer">npm-ping &mdash; npm@6.10.2</p>

View File

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

View File

@ -88,4 +88,4 @@ available on non npmjs.com registries.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-profile &mdash; npm@6.10.0</p>
<p id="footer">npm-profile &mdash; npm@6.10.2</p>

View File

@ -47,5 +47,5 @@ and it&#39;s up to you to run <code>npm prune</code> from time-to-time to remove
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-prune &mdash; npm@6.10.0</p>
<p id="footer">npm-prune &mdash; npm@6.10.2</p>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -79,5 +79,5 @@ without breaking the execution chain.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-run-script &mdash; npm@6.10.0</p>
<p id="footer">npm-run-script &mdash; npm@6.10.2</p>

View File

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

View File

@ -40,5 +40,5 @@ of package locks in npm, see <a href="../files/npm-package-locks.html">npm-packa
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-shrinkwrap &mdash; npm@6.10.0</p>
<p id="footer">npm-shrinkwrap &mdash; npm@6.10.2</p>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -81,4 +81,4 @@ This will NOT accept the truncated token found in <code>npm token list</code> ou
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-token &mdash; npm@6.10.0</p>
<p id="footer">npm-token &mdash; npm@6.10.2</p>

View File

@ -60,5 +60,5 @@ npm uninstall lodash --no-save</code></pre><h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-uninstall &mdash; npm@6.10.0</p>
<p id="footer">npm-uninstall &mdash; npm@6.10.2</p>

View File

@ -52,5 +52,5 @@ contact <a href="mailto:support@npmjs.com">support@npmjs.com</a>.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-unpublish &mdash; npm@6.10.0</p>
<p id="footer">npm-unpublish &mdash; npm@6.10.2</p>

View File

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

View File

@ -116,5 +116,5 @@ to the same value as the current version.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-version &mdash; npm@6.10.0</p>
<p id="footer">npm-version &mdash; npm@6.10.2</p>

View File

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

View File

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

View File

@ -12,7 +12,7 @@
<h1><a href="../cli/npm.html">npm</a></h1> <p>javascript package manager</p>
<h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm &lt;command&gt; [args]</code></pre><h2 id="version">VERSION</h2>
<p>6.10.0</p>
<p>6.10.2</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
@ -130,7 +130,7 @@ reproduction to report.</p>
<p><a href="http://blog.izs.me/">Isaac Z. Schlueter</a> ::
<a href="https://github.com/isaacs/">isaacs</a> ::
<a href="https://twitter.com/izs">@izs</a> ::
<a href="mailto:&#x69;&#64;&#x69;&#122;&#115;&#46;&#109;&#101;">&#x69;&#64;&#x69;&#122;&#115;&#46;&#109;&#101;</a></p>
<a href="mailto:&#105;&#x40;&#105;&#122;&#115;&#46;&#x6d;&#101;">&#105;&#x40;&#105;&#122;&#115;&#46;&#x6d;&#101;</a></p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../cli/npm-help.html">npm-help(1)</a></li>
@ -154,5 +154,5 @@ reproduction to report.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm &mdash; npm@6.10.0</p>
<p id="footer">npm &mdash; npm@6.10.2</p>

View File

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

View File

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

View File

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

View File

@ -154,4 +154,4 @@ pre-<code>npm@5.7.0</code> versions of npm 5, albeit a bit more noisily. Note th
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-package-locks &mdash; npm@6.10.0</p>
<p id="footer">npm-package-locks &mdash; npm@6.10.2</p>

View File

@ -42,4 +42,4 @@ to the manual page for <a href="../files/package-lock.json.html">package-lock.js
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-shrinkwrap.json &mdash; npm@6.10.0</p>
<p id="footer">npm-shrinkwrap.json &mdash; npm@6.10.2</p>

View File

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

View File

@ -130,4 +130,4 @@ should match via normal matching rules a dependency either in our
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">package-lock.json &mdash; npm@6.10.0</p>
<p id="footer">package-lock.json &mdash; npm@6.10.2</p>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -93,5 +93,5 @@ that registry instead.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-scope &mdash; npm@6.10.0</p>
<p id="footer">npm-scope &mdash; npm@6.10.2</p>

View File

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

View File

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

View File

@ -22,12 +22,13 @@ semver.clean(&#39; =v1.2.3 &#39;) // &#39;1.2.3&#39;
semver.satisfies(&#39;1.2.3&#39;, &#39;1.x || &gt;=2.5.0 || 5.0.0 - 7.2.3&#39;) // true
semver.gt(&#39;1.2.3&#39;, &#39;9.8.7&#39;) // false
semver.lt(&#39;1.2.3&#39;, &#39;9.8.7&#39;) // true
semver.minVersion(&#39;&gt;=1.0.0&#39;) // &#39;1.0.0&#39;
semver.valid(semver.coerce(&#39;v2&#39;)) // &#39;2.0.0&#39;
semver.valid(semver.coerce(&#39;42.6.7.9.3-alpha&#39;)) // &#39;42.6.7&#39;</code></pre>
<p>As a command-line utility:</p>
<pre><code>$ semver -h
A JavaScript implementation of the http://semver.org/ specification
A JavaScript implementation of the https://semver.org/ specification
Copyright Isaac Z. Schlueter
Usage: semver [options] &lt;version&gt; [&lt;version&gt; [...]]
@ -65,7 +66,7 @@ If no satisfying versions are found, then exits failure.
Versions are printed in ascending order, so supplying
multiple versions to the utility will just sort them.</code></pre><h2 id="versions">Versions</h2>
<p>A &quot;version&quot; is described by the <code>v2.0.0</code> specification found at
<a href="http://semver.org/">http://semver.org/</a>.</p>
<a href="https://semver.org/">https://semver.org/</a>.</p>
<p>A leading <code>&quot;=&quot;</code> or <code>&quot;v&quot;</code> character is stripped off and ignored.</p>
<h2 id="ranges">Ranges</h2>
<p>A <code>version range</code> is a set of <code>comparators</code> which specify versions
@ -117,6 +118,12 @@ alpha/beta/rc versions. By including a prerelease tag in the range,
the user is indicating that they are aware of the risk. However, it
is still not appropriate to assume that they have opted into taking a
similar risk on the <em>next</em> set of prerelease versions.</p>
<p>Note that this behavior can be suppressed (treating all prerelease
versions as if they were normal versions, for the purpose of range
matching) by setting the <code>includePrerelease</code> flag on the options
object to any
<a href="https://github.com/npm/node-semver#functions">functions</a> that do
range matching.</p>
<h4 id="prerelease-identifiers">Prerelease Identifiers</h4>
<p>The method <code>.inc</code> takes an additional <code>identifier</code> string argument that
will append the value of the string as a prerelease identifier:</p>
@ -279,6 +286,8 @@ if none exist. Example: <code>prerelease(&#39;1.2.3-alpha.1&#39;) -&gt; [&#39;al
<li><code>patch(v)</code>: Return the patch version number.</li>
<li><code>intersects(r1, r2, loose)</code>: Return true if the two supplied ranges
or comparators intersect.</li>
<li><code>parse(v)</code>: Attempt to parse a string as a semantic version, returning either
a <code>SemVer</code> object or <code>null</code>.</li>
</ul>
<h3 id="comparison">Comparison</h3>
<ul>
@ -315,6 +324,8 @@ range.</li>
that satisfies the range, or <code>null</code> if none of them do.</li>
<li><code>minSatisfying(versions, range)</code>: Return the lowest version in the list
that satisfies the range, or <code>null</code> if none of them do.</li>
<li><code>minVersion(range)</code>: Return the lowest version that can possibly match
the given range.</li>
<li><code>gtr(version, range)</code>: Return <code>true</code> if version is greater than all the
versions possible in the range.</li>
<li><code>ltr(version, range)</code>: Return <code>true</code> if version is less than all the
@ -361,5 +372,5 @@ higher value components are invalid (<code>9999999999999999.4.7.4</code> is like
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">semver &mdash; npm@6.10.0</p>
<p id="footer">semver &mdash; npm@6.10.2</p>

View File

@ -196,7 +196,10 @@ function auditCmd (args, cb) {
} else if (err.statusCode === 404) {
msg = `Your configured registry (${opts.registry}) does not support audit requests.`
} else {
msg = `Your configured registry (${opts.registry}) does not support audit requests, or the audit endpoint is temporarily unavailable.`
msg = `Your configured registry (${opts.registry}) may not support audit requests, or the audit endpoint may be temporarily unavailable.`
}
if (err.body.length) {
msg += '\nThe server said: ' + err.body
}
const ne = new Error(msg)
ne.code = 'ENOAUDIT'

View File

@ -26,7 +26,8 @@ function andLogAndFinish (spec, tracker, done) {
}
}
const CACHE = require('lru-cache')({
const LRUCache = require('lru-cache')
const CACHE = new LRUCache({
max: 300 * 1024 * 1024,
length: (p) => p._contentLength
})

View File

@ -28,9 +28,10 @@ function andIsOnlyDev (name, seen) {
return isDev && !isProd
} else {
if (seen.has(req)) return true
seen = new Set(seen)
seen.add(req)
return isOnlyDev(req, seen)
const result = isOnlyDev(req, seen)
seen.delete(req)
return result
}
}
}

View File

@ -11,11 +11,12 @@ function isOptional (node, seen) {
if (seen.has(node) || node.requiredBy.length === 0) {
return false
}
seen = new Set(seen)
seen.add(node)
const swOptional = node.fromShrinkwrap && node.package._optional
return node.requiredBy.every(function (req) {
const result = node.requiredBy.every(function (req) {
if (req.fakeChild && swOptional) return true
return isOptDep(req, moduleName(node)) || isOptional(req, seen)
})
seen.delete(node)
return result
}

View File

@ -1,7 +1,7 @@
module.exports = root
var npm = require('./npm.js')
var output = require('./utils/output.js')
const npm = require('./npm.js')
const output = require('./utils/output.js')
root.usage = 'npm root [-g]'

View File

@ -217,7 +217,7 @@ function extractUpdated (entryStream, label, opts) {
// be output from it.
module.exports._createCacheWriteStream = createCacheWriteStream
function createCacheWriteStream (cacheFile, latest, opts) {
return _ensureCacheDirExists(cacheFile, opts).then(() => {
return _ensureCacheDirExists(cacheFile, opts).then(({uid, gid}) => {
log.silly('all-package-metadata', 'creating output stream')
const outStream = _createCacheOutStream()
const cacheFileStream = writeStreamAtomic(cacheFile)
@ -231,19 +231,31 @@ function createCacheWriteStream (cacheFile, latest, opts) {
let errEmitted = false
linkStreams(inputStream, outStream, () => { errEmitted = true })
cacheFileStream.on('close', () => !errEmitted && outStream.end())
cacheFileStream.on('close', () => {
if (!errEmitted) {
if (typeof uid === 'number' &&
typeof gid === 'number' &&
process.getuid &&
process.getgid &&
(process.getuid() !== uid || process.getgid() !== gid)) {
chownr.sync(cacheFile, uid, gid)
}
outStream.end()
}
})
return ms.duplex.obj(inputStream, outStream)
})
}
// return the {uid,gid} that the cache should have
function _ensureCacheDirExists (cacheFile, opts) {
var cacheBase = path.dirname(cacheFile)
log.silly('all-package-metadata', 'making sure cache dir exists at', cacheBase)
return correctMkdir(opts.cache).then(st => {
return mkdir(cacheBase).then(made => {
return chownr(made || cacheBase, st.uid, st.gid)
})
}).then(() => ({ uid: st.uid, gid: st.gid }))
})
}

View File

@ -111,7 +111,6 @@ function shrinkwrapDeps (deps, top, tree, seen) {
var pkginfo = deps[moduleName(child)] = {}
var requested = getRequested(child) || child.package._requested || {}
var linked = child.isLink || child.isInLink
var linkedFromHere = linked && path.relative(top.realpath, child.realpath)[0] !== '.'
pkginfo.version = childVersion(top, child, requested)
if (requested.type === 'git' && child.package._from) {
pkginfo.from = child.package._from
@ -142,7 +141,7 @@ function shrinkwrapDeps (deps, top, tree, seen) {
})
}
// iterate into children on non-links and links contained within the top level package
if (child.children.length && (!child.isLink || linkedFromHere)) {
if (child.children.length) {
pkginfo.dependencies = {}
shrinkwrapDeps(pkginfo.dependencies, top, child, seen)
}

View File

@ -2,17 +2,17 @@ module.exports = unbuild
module.exports.rmStuff = rmStuff
unbuild.usage = 'npm unbuild <folder>\n(this is plumbing)'
var readJson = require('read-package-json')
var gentlyRm = require('./utils/gently-rm.js')
var npm = require('./npm.js')
var path = require('path')
var isInside = require('path-is-inside')
var lifecycle = require('./utils/lifecycle.js')
var asyncMap = require('slide').asyncMap
var chain = require('slide').chain
var log = require('npmlog')
var build = require('./build.js')
var output = require('./utils/output.js')
const readJson = require('read-package-json')
const gentlyRm = require('./utils/gently-rm.js')
const npm = require('./npm.js')
const path = require('path')
const isInside = require('path-is-inside')
const lifecycle = require('./utils/lifecycle.js')
const asyncMap = require('slide').asyncMap
const chain = require('slide').chain
const log = require('npmlog')
const build = require('./build.js')
const output = require('./utils/output.js')
// args is a list of folders.
// remove any bins/etc, and then delete the folder.
@ -30,7 +30,7 @@ function unbuild_ (silent) {
cb_(er, path.relative(npm.root, folder))
}
folder = path.resolve(folder)
var base = isInside(folder, npm.prefix) ? npm.prefix : folder
const base = isInside(folder, npm.prefix) ? npm.prefix : folder
delete build._didBuild[folder]
log.verbose('unbuild', folder.substr(npm.prefix.length + 1))
readJson(path.resolve(folder, 'package.json'), function (er, pkg) {
@ -58,13 +58,13 @@ function rmStuff (pkg, folder, cb) {
// if it's global, and folder is in {prefix}/node_modules,
// then bins are in {prefix}/bin
// otherwise, then bins are in folder/../.bin
var dir = path.dirname(folder)
var scope = path.basename(dir)
var parent = scope.charAt(0) === '@' ? path.dirname(dir) : dir
var gnm = npm.dir
const dir = path.dirname(folder)
const scope = path.basename(dir)
const parent = scope.charAt(0) === '@' ? path.dirname(dir) : dir
const gnm = npm.dir
// gnm might be an absolute path, parent might be relative
// this checks they're the same directory regardless
var top = path.relative(gnm, parent) === ''
const top = path.relative(gnm, parent) === ''
log.verbose('unbuild rmStuff', pkg._id, 'from', gnm)
if (!top) log.verbose('unbuild rmStuff', 'in', parent)
@ -75,7 +75,7 @@ function rmStuff (pkg, folder, cb) {
function rmBins (pkg, folder, parent, top, cb) {
if (!pkg.bin) return cb()
var binRoot = top ? npm.bin : path.resolve(parent, '.bin')
const binRoot = top ? npm.bin : path.resolve(parent, '.bin')
asyncMap(Object.keys(pkg.bin), function (b, cb) {
if (process.platform === 'win32') {
chain([ [gentlyRm, path.resolve(binRoot, b) + '.cmd', true, folder],
@ -98,7 +98,7 @@ function rmMans (pkg, folder, parent, top, cb) {
!npm.config.get('global')) {
return cb()
}
var manRoot = path.resolve(npm.config.get('prefix'), 'share', 'man')
const manRoot = path.resolve(npm.config.get('prefix'), 'share', 'man')
log.verbose('rmMans', 'man files are', pkg.man, 'in', manRoot)
asyncMap(pkg.man, function (man, cb) {
if (Array.isArray(man)) {
@ -109,7 +109,7 @@ function rmMans (pkg, folder, parent, top, cb) {
function rmMan (man) {
log.silly('rmMan', 'preparing to remove', man)
var parseMan = man.match(/(.*\.([0-9]+)(\.gz)?)$/)
const parseMan = man.match(/(.*\.([0-9]+)(\.gz)?)$/)
if (!parseMan) {
log.error(
'rmMan', man, 'is not a valid name for a man file.',
@ -119,11 +119,11 @@ function rmMans (pkg, folder, parent, top, cb) {
return cb()
}
var stem = parseMan[1]
var sxn = parseMan[2]
var gz = parseMan[3] || ''
var bn = path.basename(stem)
var manDest = path.join(
const stem = parseMan[1]
const sxn = parseMan[2]
const gz = parseMan[3] || ''
const bn = path.basename(stem)
const manDest = path.join(
manRoot,
'man' + sxn,
(bn.indexOf(pkg.name) === 0 ? bn : pkg.name + '-' + bn) + '.' + sxn + gz

69
deps/npm/lib/utils/cache-file.js vendored Normal file
View File

@ -0,0 +1,69 @@
const npm = require('../npm.js')
const path = require('path')
const chownr = require('chownr')
const writeFileAtomic = require('write-file-atomic')
const mkdirp = require('mkdirp')
const fs = require('graceful-fs')
let cache = null
let cacheUid = null
let cacheGid = null
let needChown = typeof process.getuid === 'function'
const getCacheOwner = () => {
let st
try {
st = fs.lstatSync(cache)
} catch (er) {
if (er.code !== 'ENOENT') {
throw er
}
st = fs.lstatSync(path.dirname(cache))
}
cacheUid = st.uid
cacheGid = st.gid
needChown = st.uid !== process.getuid() ||
st.gid !== process.getgid()
}
const writeOrAppend = (method, file, data) => {
if (!cache) {
cache = npm.config.get('cache')
}
// redundant if already absolute, but prevents non-absolute files
// from being written as if they're part of the cache.
file = path.resolve(cache, file)
if (cacheUid === null && needChown) {
getCacheOwner()
}
const dir = path.dirname(file)
const firstMade = mkdirp.sync(dir)
if (!needChown) {
return method(file, data)
}
let methodThrew = true
try {
method(file, data)
methodThrew = false
} finally {
// always try to leave it in the right ownership state, even on failure
// let the method error fail it instead of the chownr error, though
if (!methodThrew) {
chownr.sync(firstMade || file, cacheUid, cacheGid)
} else {
try {
chownr.sync(firstMade || file, cacheUid, cacheGid)
} catch (_) {}
}
}
}
exports.append = (file, data) => writeOrAppend(fs.appendFileSync, file, data)
exports.write = (file, data) => writeOrAppend(writeFileAtomic.sync, file, data)

View File

@ -1,123 +1,36 @@
var chownr = require('chownr')
var dezalgo = require('dezalgo')
var fs = require('graceful-fs')
var inflight = require('inflight')
var log = require('npmlog')
var mkdirp = require('mkdirp')
const chownr = require('chownr')
const inflight = require('inflight')
const log = require('npmlog')
const mkdirp = require('mkdirp')
const inferOwner = require('infer-owner')
// retain ownership of the parent dir
// this matches behavior in cacache to infer the cache ownership
// based on the ownership of the cache folder or it is parent.
// memoize the directories created by this step
var stats = {}
var effectiveOwner
module.exports = function correctMkdir (path, cb) {
cb = dezalgo(cb)
cb = inflight('correctMkdir:' + path, cb)
cb = inflight('correctMkdir: ' + path, cb)
if (!cb) {
return log.verbose('correctMkdir', path, 'correctMkdir already in flight; waiting')
} else {
log.verbose('correctMkdir', path, 'correctMkdir not in flight; initializing')
}
if (stats[path]) return cb(null, stats[path])
fs.stat(path, function (er, st) {
if (er) return makeDirectory(path, cb)
if (!st.isDirectory()) {
log.error('correctMkdir', 'invalid dir %s', path)
return cb(er)
}
var ownerStats = calculateOwner()
// there's always a chance the permissions could have been frobbed, so fix
if (st.uid !== ownerStats.uid) {
stats[path] = ownerStats
setPermissions(path, ownerStats, cb)
} else {
stats[path] = st
cb(null, stats[path])
}
})
}
function calculateOwner () {
if (!effectiveOwner) {
effectiveOwner = { uid: 0, gid: 0 }
// Pretty much only on windows
if (!process.getuid) {
return effectiveOwner
}
effectiveOwner.uid = +process.getuid()
effectiveOwner.gid = +process.getgid()
if (effectiveOwner.uid === 0) {
if (process.env.SUDO_UID) effectiveOwner.uid = +process.env.SUDO_UID
if (process.env.SUDO_GID) effectiveOwner.gid = +process.env.SUDO_GID
}
}
return effectiveOwner
}
function makeDirectory (path, cb) {
cb = inflight('makeDirectory:' + path, cb)
if (!cb) {
return log.verbose('makeDirectory', path, 'creation already in flight; waiting')
} else {
log.verbose('makeDirectory', path, 'creation not in flight; initializing')
}
var owner = calculateOwner()
if (!process.getuid) {
return mkdirp(path, function (er) {
log.verbose('makeCacheDir', 'UID & GID are irrelevant on', process.platform)
stats[path] = owner
return cb(er, stats[path])
})
log.verbose('makeCacheDir', 'UID & GID are irrelevant on', process.platform)
return mkdirp(path, (er, made) => cb(er, { uid: 0, gid: 0 }))
}
if (owner.uid !== 0 || !process.env.HOME) {
log.silly(
'makeDirectory', path,
'uid:', owner.uid,
'gid:', owner.gid
)
stats[path] = owner
mkdirp(path, afterMkdir)
} else {
fs.stat(process.env.HOME, function (er, st) {
inferOwner(path).then(owner => {
mkdirp(path, (er, made) => {
if (er) {
log.error('makeDirectory', 'homeless?')
log.error('correctMkdir', 'failed to make directory %s', path)
return cb(er)
}
log.silly(
'makeDirectory', path,
'uid:', st.uid,
'gid:', st.gid
)
stats[path] = st
mkdirp(path, afterMkdir)
chownr(made || path, owner.uid, owner.gid, (er) => cb(er, owner))
})
}
function afterMkdir (er, made) {
if (er || !stats[path] || isNaN(stats[path].uid) || isNaN(stats[path].gid)) {
return cb(er, stats[path])
}
if (!made) return cb(er, stats[path])
setPermissions(made, stats[path], cb)
}
}
function setPermissions (path, st, cb) {
chownr(path, st.uid, st.gid, function (er) {
if (er && er.code === 'ENOENT') return cb(null, st)
return cb(er, st)
}, er => {
log.error('correctMkdir', 'failed to infer path ownership %s', path)
return cb(er)
})
}

View File

@ -11,11 +11,10 @@ var wroteLogFile = false
var exitCode = 0
var rollbacks = npm.rollbacks
var chain = require('slide').chain
var writeFileAtomic = require('write-file-atomic')
var errorMessage = require('./error-message.js')
var stopMetrics = require('./metrics.js').stop
var mkdirp = require('mkdirp')
var fs = require('graceful-fs')
const cacheFile = require('./cache-file.js')
var logFileName
function getLogFile () {
@ -40,7 +39,7 @@ process.on('exit', function (code) {
if (npm.config.loaded && npm.config.get('timing')) {
try {
timings.logfile = getLogFile()
fs.appendFileSync(path.join(npm.config.get('cache'), '_timing.json'), JSON.stringify(timings) + '\n')
cacheFile.append('_timing.json', JSON.stringify(timings) + '\n')
} catch (_) {
// ignore
}
@ -228,7 +227,6 @@ function writeLogFile () {
var os = require('os')
try {
mkdirp.sync(path.resolve(npm.config.get('cache'), '_logs'))
var logOutput = ''
log.record.forEach(function (m) {
var pref = [m.id, m.level]
@ -241,7 +239,7 @@ function writeLogFile () {
logOutput += line + os.EOL
})
})
writeFileAtomic.sync(getLogFile(), logOutput)
cacheFile.write(getLogFile(), logOutput)
// truncate once it's been written.
log.record.length = 0

View File

@ -28,6 +28,16 @@ function execGit (args, options, cb) {
function spawnGit (args, options) {
log.info('git', args)
// If we're already in a git command (eg, running test as an exec
// line in an interactive rebase) then these environment variables
// will force git to operate on the current project, instead of
// checking out/fetching/etc. whatever the user actually intends.
options.env = options.env || Object.keys(process.env)
.filter(k => !/^GIT/.test(k))
.reduce((set, k) => {
set[k] = process.env[k]
return set
}, {})
return spawn(git, prefixGitArgs().concat(args || []), options)
}

View File

@ -9,6 +9,7 @@ const path = require('path')
const npm = require('../npm.js')
const regFetch = require('libnpm/fetch')
const uuid = require('uuid')
const cacheFile = require('./cache-file.js')
let inMetrics = false
@ -51,9 +52,9 @@ function saveMetrics (itWorked) {
}
}
try {
fs.writeFileSync(metricsFile, JSON.stringify(metrics))
cacheFile.write(metricsFile, JSON.stringify(metrics))
} catch (ex) {
// we couldn't write the error metrics file, um, well, oh well.
// we couldn't write and/or chown the error metrics file, oh well.
}
}
@ -72,6 +73,6 @@ function sendMetrics (metricsFile, metricsRegistry) {
).then(() => {
fs.unlinkSync(metricsFile)
}, err => {
fs.writeFileSync(path.join(path.dirname(metricsFile), 'last-send-metrics-error.txt'), err.stack)
cacheFile.write(path.join(path.dirname(metricsFile), 'last-send-metrics-error.txt'), err.stack)
})
}

View File

@ -11,7 +11,7 @@ module.exports = function (args, cb) {
'\u0020', '\u0020', '\u0020', '\u0020', '\u0020', '\u0020',
'\u0020', '\u2E1B', '\u2042', '\u2E2E', '&', '@', '\uFF61'
]
var oc = [21, 33, 34, 35, 36, 37]
var oc = [33, 34, 35, 36, 37]
var l = '\u005e'
function w (s) { process.stderr.write(s) }
@ -25,6 +25,7 @@ module.exports = function (args, cb) {
var O = L * 2 - 2
var S = (M - O) / 2
for (i = 0; i < S; i++) w(' ')
w(x + '\u001b[21m')
w(x + '\u001b[32m' + f)
for (i = 0; i < O; i++) {
w(
@ -33,6 +34,7 @@ module.exports = function (args, cb) {
)
}
w(x + '\u001b[32m' + b + '\n')
w(x + '\u001b[0m')
}
w(' ')
for (i = 1; i < H; i++) w('\u001b[32m' + l)

View File

@ -159,7 +159,7 @@ https://npm\.community/c/bugs
Be sure to include \fIall\fR of the output from the npm command that didn't work
as expected\. The \fBnpm\-debug\.log\fP file is also helpful to provide\.
.P
You can also find npm people in \fB#npm\fP on https:// or
You can also find npm people in \fB#npm\fP on https://package\.community/ or
on Twitter \fIhttps://twitter\.com/npm_support\fR\|\. Whoever responds will no
doubt tell you to put the output in a gist or email\.
.SH SEE ALSO

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