deps: upgrade npm to 5.6.0

PR-URL: https://github.com/nodejs/node/pull/17777
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
This commit is contained in:
Kat Marchán 2017-12-07 14:05:23 -08:00 committed by Myles Borins
parent bfe41fe88e
commit d3b1c971bc
No known key found for this signature in database
GPG Key ID: 933B01F40B5CA946
574 changed files with 19281 additions and 6420 deletions

View File

@ -7,7 +7,7 @@ language: node_js
matrix:
include:
# LTS is our most important target
- node_js: "6"
- node_js: "8"
# DEPLOY_VERSION is used to set the couchapp setup mode for test/tap/registry.js
# only gather coverage info for LTS
env: DEPLOY_VERSION=testing COVERALLS_REPO_TOKEN="$COVERALLS_OPTIONAL_TOKEN"
@ -17,10 +17,12 @@ matrix:
# previous LTS is next most important
- node_js: "4"
env: DEPLOY_VERSION=testing
- node_js: "6"
env: DEPLOY_VERSION=testing
- node_js: "7"
env: DEPLOY_VERSION=testing
# then master
- node_js: "8"
- node_js: "9"
env: DEPLOY_VERSION=testing
script:
- "standard"

10
deps/npm/AUTHORS vendored
View File

@ -526,3 +526,13 @@ Carsten Brandt <mail@cebe.cc>
Marcin Szczepanski <marcin@imagichine.com.au>
Josh Clow <josh@textio.com>
Jakub Holy <jakubholy@jakubholy.net>
Alexandra Ulsh <alexandra.ulsh@gmail.com>
Tom MacWright <tmcw@users.noreply.github.com>
Felicio Mununga <felicio@users.noreply.github.com>
Gabor Szabo <gszabo@users.noreply.github.com>
Andreas Müller <mail@devmount.de>
Andrew Pitman <apitman@users.noreply.github.com>
Jacob Wejendorp <jacob@wejendorp.dk>
Alejandro López <a.lopez.sanchez@outlook.es>
Victor Belozyorov <hi@vbelozyorov.com>
Bradley Farias <bfarias@godaddy.com>

235
deps/npm/CHANGELOG.md vendored
View File

@ -1,3 +1,238 @@
## v5.6.0 (2017-11-27):
### Features!
You may have noticed this is a semver-minor bump. Wondering why? This is why!
* [`bc263c3fd`](https://github.com/npm/npm/commit/bc263c3fde6ff4b04deee132d0a9d89379e28c27)
[#19054](https://github.com/npm/npm/pull/19054)
**Fully cross-platform `package-lock.json`**. Installing a failing optional
dependency on one platform no longer removes it from the dependency tree,
meaning that `package-lock.json` should now be generated consistently across
platforms! 🎉
([@iarna](https://github.com/iarna))
* [`f94fcbc50`](https://github.com/npm/npm/commit/f94fcbc50d8aec7350164df898d1e12a1e3da77f)
[#19160](https://github.com/npm/npm/pull/19160)
Add `--package-lock-only` config option. This makes it so you can generate a
target `package-lock.json` without performing a full install of
`node_modules`.
([@alopezsanchez](https://github.com/alopezsanchez))
* [`66d18280c`](https://github.com/npm/npm/commit/66d18280ca320f880f4377cf80a8052491bbccbe)
[#19104](https://github.com/npm/npm/pull/19104)
Add new `--node-options` config to pass through a custom `NODE_OPTIONS` for
lifecycle scripts.
([@bmeck](https://github.com/bmeck))
* [`114d518c7`](https://github.com/npm/npm/commit/114d518c75732c42acbef3acab36ba1d0fd724e2)
Ignore mtime when packing tarballs: This means that doing `npm pack` on the
same repository should yield two tarballs with the same checksum. This will
also help prevent cache bloat when using git dependencies. In the future, this
will allow npm to explicitly cache git dependencies.
([@isaacs](https://github.com/isaacs))
### Performance
* [`39ba4aa74`](https://github.com/npm/npm/commit/39ba4aa7479220e61573c0c1977124c2199f49d0)
`tar@4.1.0`: Reduce number of overall fs operations during packing/unpacking.
### Node 9
Previously, it turns out npm broke on the latest Node, `node@9`. We went ahead
and fixed it up so y'all should be able to use the latest npm again!
* [`4ca695819`](https://github.com/npm/npm/commit/4ca6958196ae41cef179473e3f7dbed9df9a32f1)
`minizlib@1.0.4`: `Fix node@9` incompatibility.
([@isaacs](https://github.com/isaacs))
* [`c851bb503`](https://github.com/npm/npm/commit/c851bb503a756b7cd48d12ef0e12f39e6f30c577)
`tar@4.0.2`: Fix `node@9` incompatibility.
([@isaacs](https://github.com/isaacs))
* [`6caf23096`](https://github.com/npm/npm/commit/6caf2309613d14ce77923ad3d1275cb89c6cf223)
Remove "unsupported" warning for Node 9 now that things are fixed.
([@iarna](https://github.com/iarna))
* [`1930b0f8c`](https://github.com/npm/npm/commit/1930b0f8c44373301edc9fb6ccdf7efcb350fa42)
Update test matrix with `node@8` LTS and `node@9`.
([@iarna](https://github.com/iarna))
### Bug Fixes
* [`b70321733`](https://github.com/npm/npm/commit/b7032173361665a12c9e4200bdc3f0eb4dee682f)
[#18881](https://github.com/npm/npm/pull/18881)
When dealing with a `node_modules` that was created with older versions of npm
(and thus older versions of npa) we need to gracefully handle older spec
entries. Failing to do so results in us treating those packages as if they
were http remote deps, which results in invalid lock files with `version` set
to tarball URLs. This should now be fixed.
([@iarna](https://github.com/iarna))
* [`2f9c5dd00`](https://github.com/npm/npm/commit/2f9c5dd0046a53ece3482e92a412413f5aed6955)
[#18880](https://github.com/npm/npm/pull/18880)
Stop overwriting version in package data on disk. This is another safeguard
against the version overwriting that's plagued some folks upgrading from older
package-locks.
([@iarna](https://github.com/iarna))
([@joshclow](https://github.com/joshclow))
* [`a93e0a51d`](https://github.com/npm/npm/commit/a93e0a51d3dafc31c809ca28cd7dfa71b2836f86)
[#18846](https://github.com/npm/npm/pull/18846)
Correctly save transitive dependencies when using `npm update` in
`package-lock.json`.
([@iarna](https://github.com/iarna))
* [`fdde7b649`](https://github.com/npm/npm/commit/fdde7b649987b2acd9a37ef203f1e263fdf6fece)
[#18825](https://github.com/npm/npm/pull/18825)
Fix typo and concatenation in error handling.
([@alulsh](https://github.com/alulsh))
* [`be67de7b9`](https://github.com/npm/npm/commit/be67de7b90790cef0a9f63f91c2f1a00942205ee)
[#18711](https://github.com/npm/npm/pull/18711)
Upgrade to bearer tokens from legacy auth when enabling 2FA.
([@iarna](https://github.com/iarna))
* [`bfdf0fd39`](https://github.com/npm/npm/commit/bfdf0fd39646b03db8e543e2bec7092da7880596)
[#19033](https://github.com/npm/npm/pull/19033)
Fix issue where files with `@` signs in their names would not get included
when packing tarballs.
([@zkat](https://github.com/zkat))
* [`b65b89bde`](https://github.com/npm/npm/commit/b65b89bdeaa65516f3e13afdb6e9aeb22d8508f4)
[#19048](https://github.com/npm/npm/pull/19048)
Fix problem where `npm login` was ignoring various networking-related options,
such as custom certs.
([@wejendorp](https://github.com/wejendorp))
* [`8c194b86e`](https://github.com/npm/npm/commit/8c194b86ec9617e2bcc31f30ee4772469a0bb440)
`npm-packlist@1.1.10`: Include `node_modules/` directories not in the root.
([@isaacs](https://github.com/isaacs))
* [`d7ef6a20b`](https://github.com/npm/npm/commit/d7ef6a20b44e968cb92babab1beb51f99110781d)
`libnpx@9.7.1`: Fix some *nix binary path escaping issues.
([@zkat](https://github.com/zkat))
* [`981828466`](https://github.com/npm/npm/commit/981828466a5936c70abcccea319b227c443e812b)
`cacache@10.0.1`: Fix fallback to `copy-concurrently` when file move fails.
This might fix permissions and such issues on platforms that were getting
weird filesystem errors during install.
([@karolba](https://github.com/karolba))
* [`a0be6bafb`](https://github.com/npm/npm/commit/a0be6bafb6dd7acb3e7b717c27c8575a2215bfff)
`pacote@7.0.2`: Includes a bunch of fixes, specially for issues around git
dependencies. Shasum-related errors should be way less common now, too.
([@zkat](https://github.com/zkat))
* [`b80d650de`](https://github.com/npm/npm/commit/b80d650def417645d2525863e9f17af57a917b42)
[#19163](https://github.com/npm/npm/pull/19163)
Fix a number of git and tarball specs and checksum errors.
([@zkat](https://github.com/zkat))
* [`cac225025`](https://github.com/npm/npm/commit/cac225025fa06cd055286e75541138cd95f52def)
[#19054](https://github.com/npm/npm/pull/19054)
Don't count failed optionals when summarizing installed packages.
([@iarna](https://github.com/iarna))
### UX
* [`b1ec2885c`](https://github.com/npm/npm/commit/b1ec2885c43f8038c4e05b83253041992fdfe382)
[#18326](https://github.com/npm/npm/pull/18326)
Stop truncating output of `npm view`. This means, for example, that you no
longer need to use `--json` when a package has a lot of versions, to see the
whole list.
([@SimenB](https://github.com/SimenB))
* [`55a124e0a`](https://github.com/npm/npm/commit/55a124e0aa6097cb46f1484f666444b2a445ba57)
[#18884](https://github.com/npm/npm/pull/18884)
Profile UX improvements: better messaging on unexpected responses, and stop
claiming we set passwords to null when resetting them.
([@iarna](https://github.com/iarna))
* [`635481c61`](https://github.com/npm/npm/commit/635481c6143bbe10a6f89747795bf4b83f75a7e9)
[#18844](https://github.com/npm/npm/pull/18844)
Improve error messaging for OTP/2FA.
([@iarna](https://github.com/iarna))
* [`52b142ed5`](https://github.com/npm/npm/commit/52b142ed5e0f13f23c99209932e8de3f7649fd47)
[#19054](https://github.com/npm/npm/pull/19054)
Stop running the same rollback multiple times. This should address issues
where Windows users saw strange failures when `fsevents` failed to install.
([@iarna](https://github.com/iarna))
* [`798428b0b`](https://github.com/npm/npm/commit/798428b0b7b6cfd6ce98041c45fc0a36396e170c)
[#19172](https://github.com/npm/npm/pull/19172)
`bin-links@1.1.0`: Log the fact line endings are being changed upon install.
([@marcosscriven](https://github.com/marcosscriven))
### Refactors
Usually, we don't include internal refactor stuff in our release notes, but it's
worth calling out some of them because they're part of a larger effort the CLI
team and associates are undertaking to modularize npm itself so other package
managers and associated tools can reuse all that code!
* [`9d22c96b7`](https://github.com/npm/npm/commit/9d22c96b7160729c8126a38dcf554611b9e3ba87)
[#18500](https://github.com/npm/npm/pull/18500)
Extract bin-links and gentle-fs to a separate library. This will allow
external tools to do bin linking and certain fs operations in an
npm-compatible way!
([@mikesherov](https://github.com/mikesherov))
* [`015a7803b`](https://github.com/npm/npm/commit/015a7803b7b63bc8543882196d987b92b461932d)
[#18883](https://github.com/npm/npm/pull/18883)
Capture logging from log events on the process global. This allows npm to use
npmlog to report logging from external libraries like `npm-profile`.
([@iarna](https://github.com/iarna))
* [`c930e98ad`](https://github.com/npm/npm/commit/c930e98adc03cef357ae5716269a04d74744a852)
`npm-lifecycle@2.0.0`: Use our own `node-gyp`. This means npm no longer needs
to pull some maneuvers to make sure `node-gyp` is in the right place, and that
external packages using `npm-lifecycle` will get working native builds without
having to do their own `node-gyp` maneuvers.
([@zkochan](https://github.com/zkochan))
* [`876f0c8f3`](https://github.com/npm/npm/commit/876f0c8f341f8915e338b409f4b8616bb5263500) [`829893d61`](https://github.com/npm/npm/commit/829893d617bf81bba0d1ce4ea303f76ea37a2b2d)
[#19099](https://github.com/npm/npm/pull/19099)
`find-npm-prefix@1.0.1`: npm's prefix-finding logic is now a standalone
module. That is, the logic that figures out where the root of your project is
if you've `cd`'d into a subdirectory. Did you know you can run `npm install`
from these subdirectories, and it'll only affect the root? It works like git!
([@iarna](https://github.com/iarna))
### Docs
* [`7ae12b21c`](https://github.com/npm/npm/commit/7ae12b21cc841f76417d3bb13b74f177319d4deb)
[#18823](https://github.com/npm/npm/pull/18823)
Fix spelling of the word authenticator. Because English is hard.
([@tmcw](https://github.com/tmcw))
* [`5dfc3ab7b`](https://github.com/npm/npm/commit/5dfc3ab7bc2cb0fa7d9a8c00aa95fecdd14d7ae1)
[#18742](https://github.com/npm/npm/pull/18742)
Explicitly state 'github:foo/bar' as a valid shorthand for hosted git specs.
([@felicio](https://github.com/felicio))
* [`a9dc098a6`](https://github.com/npm/npm/commit/a9dc098a6eb7a87895f52a101ac0d41492da698e)
[#18679](https://github.com/npm/npm/pull/18679)
Add some documentation about the `script-shell` config.
([@gszabo](https://github.com/gszabo))
* [`24d7734d1`](https://github.com/npm/npm/commit/24d7734d1a1e906c83c53b6d1853af8dc758a998)
[#18571](https://github.com/npm/npm/pull/18571)
Change `verboten` to `forbidden`.
([@devmount](https://github.com/devmount))
* [`a8a45668f`](https://github.com/npm/npm/commit/a8a45668fb9b8eb84234fe89234bdcdf644ead58)
[#18568](https://github.com/npm/npm/pull/18568)
Improve wording for the docs for the "engines" section of package.json files.
([@apitman](https://github.com/apitman))
* [`dbc7e5b60`](https://github.com/npm/npm/commit/dbc7e5b602870330a8cdaf63bd303cd9050f792f)
[#19118](https://github.com/npm/npm/pull/19118)
Use valid JSON in example for bundledDependencies.
([@charmander](https://github.com/charmander))
* [`779339485`](https://github.com/npm/npm/commit/779339485bab5137d0fdc68d1ed6fa987aa8965a)
[#19162](https://github.com/npm/npm/pull/19162)
Remove trailing white space from `npm access` docs.
([@WispProxy](https://github.com/WispProxy))
### Dependency Bumps
* [`0e7cac941`](https://github.com/npm/npm/commit/0e7cac9413ff1104cf242cc3006f42aa1c2ab63f)
`bluebird@3.5.1`
([@petkaantonov](https://github.com/petkaantonov))
* [`c4d5887d9`](https://github.com/npm/npm/commit/c4d5887d978849ddbe2673630de657f141ae5bcf)
`update-notifier@2.3.0`
([@sindresorhus](https://github.com/sindresorhus))
* [`eb19a9691`](https://github.com/npm/npm/commit/eb19a9691cf76fbc9c5b66aa7aadb5d905af467a)
`npm-package-arg@6.0.0`
([@zkat](https://github.com/zkat))
* [`91d5dca96`](https://github.com/npm/npm/commit/91d5dca96772bc5c45511ddcbeeb2685c7ea68e8)
`npm-profile@2.0.5`
([@iarna](https://github.com/iarna))
* [`8de66c46e`](https://github.com/npm/npm/commit/8de66c46e57e4b449c9540c8ecafbc4fd58faff5)
`ssri@5.0.0`
([@zkat](https://github.com/zkat))
* [`cfbc3ea69`](https://github.com/npm/npm/commit/cfbc3ea69a8c62dc8e8543193c3ac472631dcef9)
`worker-farm@1.5.1`
([@rvagg](https://github.com/rvagg))
* [`60c228160`](https://github.com/npm/npm/commit/60c228160f22d41c2b36745166c9e8c2d84fee58)
`query-string@5.0.1`
([@sindresorhus](https://github.com/sindresorhus))
* [`72cad8c66`](https://github.com/npm/npm/commit/72cad8c664efd8eb1bec9a418bccd6c6ca9290de)
`copy-concurrently@1.0.5`
([@iarna](https://github.com/iarna))
## v5.5.1 (2017-10-04):
A very quick, record time, patch release, of a bug fix to a (sigh) last minute bug fix.

View File

@ -29,7 +29,6 @@ subcommand.
access to a package.
* ls-packages:
Show all of the packages a user or a team is able to access, along with the
access level, except for read-only public packages (it won't print the whole
registry listing)

View File

@ -310,6 +310,9 @@ versions.
The `--dry-run` argument will report in the usual way what the install would
have done without actually installing anything.
The `--package-lock-only` argument will only update the `package-lock.json`,
instead of checking `node_modules` and downloading dependencies.
The `-f` or `--force` argument will force npm to fetch remote resources even if a
local copy exists on disk.

View File

@ -44,6 +44,12 @@ instead of
to run your tests.
The actual shell your script is run within is platform dependent. By default,
on Unix-like systems it is the `/bin/sh` command, on Windows it is the `cmd.exe`.
The actual shell referred to by `/bin/sh` also depends on the system.
As of [`npm@5.1.0`](https://github.com/npm/npm/releases/tag/v5.1.0) you can
customize the shell with the `script-shell` configuration.
Scripts are run from the root of the module, regardless of what your current
working directory is when you call `npm run`. If you want your script to
use different behavior based on what subdirectory you're in, you can use the
@ -69,3 +75,4 @@ You can use the `--silent` flag to prevent showing `npm ERR!` output on error.
* npm-start(1)
* npm-restart(1)
* npm-stop(1)
* npm-config(7)

View File

@ -5,11 +5,11 @@ npm-token(1) -- Manage your authentication tokens
npm token list [--json|--parseable]
npm token create [--read-only] [--cidr=1.1.1.1/24,2.2.2.2/16]
npm token delete <id|token>
npm token revoke <id|token>
## DESCRIPTION
This list you list, create and delete authentication tokens.
This list you list, create and revoke authentication tokens.
* `npm token list`:
Shows a table of all active authentication tokens. You can request this as
@ -52,7 +52,7 @@ This list you list, create and delete authentication tokens.
+----------------+--------------------------------------+
```
* `npm token delete <token|id>`:
* `npm token revoke <token|id>`:
This removes an authentication token, making it immediately unusable. This can accept
both complete tokens (as you get back from `npm token create` and will
find in your `.npmrc`) and ids as seen in the `npm token list` output.

View File

@ -373,11 +373,13 @@ shortcut syntax you use for `npm install`:
"repository": "npm/npm"
"repository": "github:user/repo"
"repository": "gist:11081aaa281"
"repository": "bitbucket:example/repo"
"repository": "bitbucket:user/repo"
"repository": "gitlab:another/repo"
"repository": "gitlab:user/repo"
## scripts
@ -618,7 +620,7 @@ If we define a package.json like this:
"name": "awesome-web-framework",
"version": "1.0.0",
"bundledDependencies": [
'renderized', 'super-streams'
"renderized", "super-streams"
]
}
```
@ -678,7 +680,7 @@ are capable of properly installing your program. For example:
{ "engines" : { "npm" : "~1.0.20" } }
Unless the user has set the `engine-strict` config flag, this
field is advisory only will produce warnings when your package is installed as a dependency.
field is advisory only and will only produce warnings when your package is installed as a dependency.
## engineStrict

View File

@ -184,7 +184,7 @@ When something is intentionally missing or removed, set it to `null`.
Don't set things to `undefined`. Reserve that value to mean "not yet
set to anything."
Boolean objects are verboten.
Boolean objects are forbidden.
## SEE ALSO

View File

@ -656,6 +656,15 @@ Any "%s" in the message will be replaced with the version number.
The registry you want to send cli metrics to if `send-metrics` is true.
### node-options
* Default: null
* Type: String
Options to pass through to Node.js via the `NODE_OPTIONS` environment
variable. This does not impact how npm itself is executed but it does
impact how lifecycle scripts are called.
### node-version
* Default: process.version
@ -724,6 +733,14 @@ will also prevent _writing_ `package-lock.json` if `save` is true.
This option is an alias for `--shrinkwrap`.
### package-lock-only
* Default: false
* Type: Boolean
If set to true, it will update only the `package-json`,
instead of checking `node_modules` and downloading dependencies.
### parseable
* Default: false

View File

@ -127,5 +127,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@5.5.1</p>
<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@5.6.0</p>

View File

@ -33,8 +33,8 @@ Set a package to be either publicly accessible or restricted.</p>
Add or remove the ability of users and teams to have read-only or read-write
access to a package.</p>
</li>
<li><p>ls-packages:</p>
<p>Show all of the packages a user or a team is able to access, along with the
<li><p>ls-packages:
Show all of the packages a user or a team is able to access, along with the
access level, except for read-only public packages (it won&#39;t print the whole
registry listing)</p>
</li>
@ -86,5 +86,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@5.5.1</p>
<p id="footer">npm-access &mdash; npm@5.6.0</p>

View File

@ -81,5 +81,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@5.5.1</p>
<p id="footer">npm-adduser &mdash; npm@5.6.0</p>

View File

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

View File

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

View File

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

View File

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

View File

@ -89,5 +89,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@5.5.1</p>
<p id="footer">npm-cache &mdash; npm@5.6.0</p>

View File

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

View File

@ -68,5 +68,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@5.5.1</p>
<p id="footer">npm-config &mdash; npm@5.6.0</p>

View File

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

View File

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

View File

@ -88,5 +88,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@5.5.1</p>
<p id="footer">npm-dist-tag &mdash; npm@5.6.0</p>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -255,6 +255,8 @@ tag with the given name exists, the tagged version is preferred over newer
versions.</p>
<p>The <code>--dry-run</code> argument will report in the usual way what the install would
have done without actually installing anything.</p>
<p>The <code>--package-lock-only</code> argument will only update the <code>package-lock.json</code>,
instead of checking <code>node_modules</code> and downloading dependencies.</p>
<p>The <code>-f</code> or <code>--force</code> argument will force npm to fetch remote resources even if a
local copy exists on disk.</p>
<pre><code>npm install sax --force
@ -367,5 +369,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@5.5.1</p>
<p id="footer">npm-install &mdash; npm@5.6.0</p>

View File

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

View File

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

View File

@ -21,7 +21,7 @@ installed, as well as their dependencies, in a tree-structure.</p>
limit the results to only the paths to the packages named. Note that
nested packages will <em>also</em> show the paths to the specified packages.
For example, running <code>npm ls promzard</code> in npm&#39;s source tree will show:</p>
<pre><code>npm@5.5.1 /path/to/npm
<pre><code>npm@5.6.0 /path/to/npm
└─┬ init-package-json@0.0.4
└── promzard@0.1.5
</code></pre><p>It will print out extraneous, missing, and invalid packages.</p>
@ -110,5 +110,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@5.5.1</p>
<p id="footer">npm-ls &mdash; npm@5.6.0</p>

View File

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

View File

@ -54,5 +54,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@5.5.1</p>
<p id="footer">npm-owner &mdash; npm@5.6.0</p>

View File

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

View File

@ -36,5 +36,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@5.5.1</p>
<p id="footer">npm-ping &mdash; npm@5.6.0</p>

View File

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

View File

@ -90,4 +90,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@5.5.1</p>
<p id="footer">npm-profile &mdash; npm@5.6.0</p>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -40,6 +40,11 @@ you should write:</p>
</code></pre><p>instead of</p>
<pre><code>&quot;scripts&quot;: {&quot;test&quot;: &quot;node_modules/.bin/tap test/\*.js&quot;}
</code></pre><p>to run your tests.</p>
<p>The actual shell your script is run within is platform dependent. By default,
on Unix-like systems it is the <code>/bin/sh</code> command, on Windows it is the <code>cmd.exe</code>.
The actual shell referred to by <code>/bin/sh</code> also depends on the system.
As of <a href="https://github.com/npm/npm/releases/tag/v5.1.0"><code>npm@5.1.0</code></a> you can
customize the shell with the <code>script-shell</code> configuration.</p>
<p>Scripts are run from the root of the module, regardless of what your current
working directory is when you call <code>npm run</code>. If you want your script to
use different behavior based on what subdirectory you&#39;re in, you can use the
@ -61,6 +66,7 @@ you will be given a warning to run <code>npm install</code>, just in case you&#3
<li><a href="../cli/npm-start.html">npm-start(1)</a></li>
<li><a href="../cli/npm-restart.html">npm-restart(1)</a></li>
<li><a href="../cli/npm-stop.html">npm-stop(1)</a></li>
<li><a href="../misc/npm-config.html">npm-config(7)</a></li>
</ul>
</div>
@ -74,5 +80,5 @@ you will be given a warning to run <code>npm install</code>, just in case you&#3
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-run-script &mdash; npm@5.5.1</p>
<p id="footer">npm-run-script &mdash; npm@5.6.0</p>

View File

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

View File

@ -41,5 +41,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@5.5.1</p>
<p id="footer">npm-shrinkwrap &mdash; npm@5.6.0</p>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -13,9 +13,9 @@
<h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm token list [--json|--parseable]
npm token create [--read-only] [--cidr=1.1.1.1/24,2.2.2.2/16]
npm token delete &lt;id|token&gt;
npm token revoke &lt;id|token&gt;
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>This list you list, create and delete authentication tokens. </p>
<p>This list you list, create and revoke authentication tokens.</p>
<ul>
<li><p><code>npm token list</code>:
Shows a table of all active authentication tokens. You can request this as
@ -55,7 +55,7 @@ two-factor authentication enabled, an otp.</p>
| created | 2017-10-02T07:52:24.838Z |
+----------------+--------------------------------------+
</code></pre><ul>
<li><code>npm token delete &lt;token|id&gt;</code>:
<li><code>npm token revoke &lt;token|id&gt;</code>:
This removes an authentication token, making it immediately unusable. This can accept
both complete tokens (as you get back from <code>npm token create</code> and will
find in your <code>.npmrc</code>) and ids as seen in the <code>npm token list</code> output.
@ -73,4 +73,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@5.5.1</p>
<p id="footer">npm-token &mdash; npm@5.6.0</p>

View File

@ -63,5 +63,5 @@ npm uninstall lodash --no-save
<tr><td style="width:60px;height:10px;background:rgb(237,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@5.5.1</p>
<p id="footer">npm-uninstall &mdash; npm@5.6.0</p>

View File

@ -51,5 +51,5 @@ contact support@npmjs.com.</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@5.5.1</p>
<p id="footer">npm-unpublish &mdash; npm@5.6.0</p>

View File

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

View File

@ -120,5 +120,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@5.5.1</p>
<p id="footer">npm-version &mdash; npm@5.6.0</p>

View File

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

View File

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

View File

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

View File

@ -181,5 +181,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@5.5.1</p>
<p id="footer">npm-folders &mdash; npm@5.6.0</p>

View File

@ -181,5 +181,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@5.5.1</p>
<p id="footer">npm-folders &mdash; npm@5.6.0</p>

View File

@ -281,11 +281,13 @@ html project page that you put in your browser. It&#39;s for computers.</p>
shortcut syntax you use for <code>npm install</code>:</p>
<pre><code>&quot;repository&quot;: &quot;npm/npm&quot;
&quot;repository&quot;: &quot;github:user/repo&quot;
&quot;repository&quot;: &quot;gist:11081aaa281&quot;
&quot;repository&quot;: &quot;bitbucket:example/repo&quot;
&quot;repository&quot;: &quot;bitbucket:user/repo&quot;
&quot;repository&quot;: &quot;gitlab:another/repo&quot;
&quot;repository&quot;: &quot;gitlab:user/repo&quot;
</code></pre><h2 id="scripts">scripts</h2>
<p>The &quot;scripts&quot; property is a dictionary containing script commands that are run
at various times in the lifecycle of your package. The key is the lifecycle
@ -470,7 +472,7 @@ array and executing <code>npm pack</code>.</p>
&quot;name&quot;: &quot;awesome-web-framework&quot;,
&quot;version&quot;: &quot;1.0.0&quot;,
&quot;bundledDependencies&quot;: [
&#39;renderized&#39;, &#39;super-streams&#39;
&quot;renderized&quot;, &quot;super-streams&quot;
]
}
</code></pre><p>we can obtain <code>awesome-web-framework-1.0.0.tgz</code> file by running <code>npm pack</code>.
@ -515,7 +517,7 @@ that it works on node.</p>
are capable of properly installing your program. For example:</p>
<pre><code>{ &quot;engines&quot; : { &quot;npm&quot; : &quot;~1.0.20&quot; } }
</code></pre><p>Unless the user has set the <code>engine-strict</code> config flag, this
field is advisory only will produce warnings when your package is installed as a dependency.</p>
field is advisory only and will only produce warnings when your package is installed as a dependency.</p>
<h2 id="enginestrict">engineStrict</h2>
<p><strong>This feature was removed in npm 3.0.0</strong></p>
<p>Prior to npm 3.0.0, this feature was used to treat this package as if the
@ -601,5 +603,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@5.5.1</p>
<p id="footer">package.json &mdash; npm@5.6.0</p>

View File

@ -145,4 +145,4 @@ if any transitive dependencies were updated, hoisted, etc.</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-package-locks &mdash; npm@5.5.1</p>
<p id="footer">npm-package-locks &mdash; npm@5.6.0</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@5.5.1</p>
<p id="footer">npm-shrinkwrap.json &mdash; npm@5.6.0</p>

View File

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

View File

@ -124,4 +124,4 @@ on the current platform.</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-lock.json &mdash; npm@5.5.1</p>
<p id="footer">package-lock.json &mdash; npm@5.6.0</p>

View File

@ -281,11 +281,13 @@ html project page that you put in your browser. It&#39;s for computers.</p>
shortcut syntax you use for <code>npm install</code>:</p>
<pre><code>&quot;repository&quot;: &quot;npm/npm&quot;
&quot;repository&quot;: &quot;github:user/repo&quot;
&quot;repository&quot;: &quot;gist:11081aaa281&quot;
&quot;repository&quot;: &quot;bitbucket:example/repo&quot;
&quot;repository&quot;: &quot;bitbucket:user/repo&quot;
&quot;repository&quot;: &quot;gitlab:another/repo&quot;
&quot;repository&quot;: &quot;gitlab:user/repo&quot;
</code></pre><h2 id="scripts">scripts</h2>
<p>The &quot;scripts&quot; property is a dictionary containing script commands that are run
at various times in the lifecycle of your package. The key is the lifecycle
@ -470,7 +472,7 @@ array and executing <code>npm pack</code>.</p>
&quot;name&quot;: &quot;awesome-web-framework&quot;,
&quot;version&quot;: &quot;1.0.0&quot;,
&quot;bundledDependencies&quot;: [
&#39;renderized&#39;, &#39;super-streams&#39;
&quot;renderized&quot;, &quot;super-streams&quot;
]
}
</code></pre><p>we can obtain <code>awesome-web-framework-1.0.0.tgz</code> file by running <code>npm pack</code>.
@ -515,7 +517,7 @@ that it works on node.</p>
are capable of properly installing your program. For example:</p>
<pre><code>{ &quot;engines&quot; : { &quot;npm&quot; : &quot;~1.0.20&quot; } }
</code></pre><p>Unless the user has set the <code>engine-strict</code> config flag, this
field is advisory only will produce warnings when your package is installed as a dependency.</p>
field is advisory only and will only produce warnings when your package is installed as a dependency.</p>
<h2 id="enginestrict">engineStrict</h2>
<p><strong>This feature was removed in npm 3.0.0</strong></p>
<p>Prior to npm 3.0.0, this feature was used to treat this package as if the
@ -601,5 +603,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@5.5.1</p>
<p id="footer">package.json &mdash; npm@5.6.0</p>

View File

@ -172,5 +172,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@5.5.1</p>
<p id="footer">npm-index &mdash; npm@5.6.0</p>

View File

@ -135,7 +135,7 @@ makes it clear that it&#39;s a &quot;throwaway&quot; function.</p>
<p>When something is intentionally missing or removed, set it to <code>null</code>.</p>
<p>Don&#39;t set things to <code>undefined</code>. Reserve that value to mean &quot;not yet
set to anything.&quot;</p>
<p>Boolean objects are verboten.</p>
<p>Boolean objects are forbidden.</p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../misc/npm-developers.html">npm-developers(7)</a></li>
@ -153,5 +153,5 @@ set to anything.&quot;</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-coding-style &mdash; npm@5.5.1</p>
<p id="footer">npm-coding-style &mdash; npm@5.6.0</p>

View File

@ -564,6 +564,14 @@ combination). Passed to the <code>http</code> <code>Agent</code> used to make th
<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-options">node-options</h3>
<ul>
<li>Default: null</li>
<li>Type: String</li>
</ul>
<p>Options to pass through to Node.js via the <code>NODE_OPTIONS</code> environment
variable. This does not impact how npm itself is executed but it does
impact how lifecycle scripts are called.</p>
<h3 id="node-version">node-version</h3>
<ul>
<li>Default: process.version</li>
@ -621,6 +629,13 @@ when publishing or changing package permissions with <code>npm access</code>.</p
<p>If set to false, then ignore <code>package-lock.json</code> files when installing. This
will also prevent <em>writing</em> <code>package-lock.json</code> if <code>save</code> is true.</p>
<p>This option is an alias for <code>--shrinkwrap</code>.</p>
<h3 id="package-lock-only">package-lock-only</h3>
<ul>
<li>Default: false</li>
<li>Type: Boolean</li>
</ul>
<p>If set to true, it will update only the <code>package-json</code>,
instead of checking <code>node_modules</code> and downloading dependencies.</p>
<h3 id="parseable">parseable</h3>
<ul>
<li>Default: false</li>
@ -1009,5 +1024,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@5.5.1</p>
<p id="footer">npm-config &mdash; npm@5.6.0</p>

View File

@ -204,5 +204,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@5.5.1</p>
<p id="footer">npm-developers &mdash; npm@5.6.0</p>

View File

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

View File

@ -172,5 +172,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@5.5.1</p>
<p id="footer">npm-index &mdash; npm@5.6.0</p>

View File

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

View File

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

View File

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

View File

@ -239,5 +239,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@5.5.1</p>
<p id="footer">npm-scripts &mdash; npm@5.6.0</p>

View File

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

View File

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

View File

@ -4,6 +4,8 @@ const profile = require('npm-profile')
const log = require('npmlog')
const npm = require('../npm.js')
const output = require('../utils/output.js')
const pacoteOpts = require('../config/pacote')
const fetchOpts = require('../config/fetch-opts')
module.exports.login = function login (creds, registry, scope, cb) {
let username = creds.username || ''
@ -22,10 +24,13 @@ module.exports.login = function login (creds, registry, scope, cb) {
email = e
return profile.login(username, password, {registry: registry, auth: auth}).catch((err) => {
if (err.code === 'EOTP') throw err
return profile.adduser(username, email, password, {registry: registry})
return profile.adduser(username, email, password, {
registry: registry,
opts: fetchOpts.fromPacote(pacoteOpts())
})
}).catch((err) => {
if (err.code === 'EOTP' && !auth.otp) {
return read.otp('Authenicator provided OTP:').then((otp) => {
return read.otp('Authenticator provided OTP:').then((otp) => {
auth.otp = otp
return profile.login(username, password, {registry: registry, auth: auth})
})

130
deps/npm/lib/build.js vendored
View File

@ -10,21 +10,14 @@
var npm = require('./npm.js')
var log = require('npmlog')
var chain = require('slide').chain
var fs = require('graceful-fs')
var path = require('path')
var fs = require('graceful-fs')
var lifecycle = require('./utils/lifecycle.js')
var readJson = require('read-package-json')
var link = require('./utils/link.js')
var linkIfExists = link.ifExists
var cmdShim = require('cmd-shim')
var cmdShimIfExists = cmdShim.ifExists
var isHashbangFile = require('./utils/is-hashbang-file.js')
var dos2Unix = require('./utils/convert-line-endings.js').dos2Unix
var asyncMap = require('slide').asyncMap
var binLinks = require('bin-links')
var binLinksConfig = require('./config/bin-links.js')
var ini = require('ini')
var writeFile = require('write-file-atomic')
var packageId = require('./utils/package-id.js')
var output = require('./utils/output.js')
module.exports = build
build.usage = 'npm build [<folder>]'
@ -74,7 +67,8 @@ function build_ (global, didPre, didRB) {
if (er) return cb(er)
chain([
!didPre && [lifecycle, pkg, 'preinstall', folder],
[linkStuff, pkg, folder, global, didRB],
[linkStuff, pkg, folder, global],
!didRB && [rebuildBundles, pkg, folder],
[writeBuiltinConf, pkg, folder],
didPre !== build._noLC && [lifecycle, pkg, 'install', folder],
didPre !== build._noLC && [lifecycle, pkg, 'postinstall', folder]
@ -102,35 +96,13 @@ var writeBuiltinConf = build.writeBuiltinConf = function (pkg, folder, cb) {
writeFile(path.resolve(folder, 'npmrc'), data, cb)
}
var linkStuff = build.linkStuff = function (pkg, folder, global, didRB, cb) {
var linkStuff = build.linkStuff = function (pkg, folder, global, cb) {
// allow to opt out of linking binaries.
if (npm.config.get('bin-links') === false) return 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 parent = pkg.name && pkg.name[0] === '@' ? path.dirname(path.dirname(folder)) : path.dirname(folder)
var gnm = global && npm.globalDir
var gtop = parent === gnm
log.info('linkStuff', packageId(pkg))
log.silly('linkStuff', packageId(pkg), 'has', parent, 'as its parent node_modules')
if (global) log.silly('linkStuff', packageId(pkg), 'is part of a global install')
if (gnm) log.silly('linkStuff', packageId(pkg), 'is installed into a global node_modules')
if (gtop) log.silly('linkStuff', packageId(pkg), 'is installed into the top-level global node_modules')
asyncMap(
[linkBins, linkMans, !didRB && rebuildBundles],
function (fn, cb) {
if (!fn) return cb()
log.verbose(fn.name, packageId(pkg))
fn(pkg, folder, parent, gtop, cb)
},
cb
)
return binLinks(pkg, folder, global, binLinksConfig(pkg), cb)
}
function rebuildBundles (pkg, folder, parent, gtop, cb) {
function rebuildBundles (pkg, folder, cb) {
if (!npm.config.get('rebuild-bundle')) return cb()
var deps = Object.keys(pkg.dependencies || {})
@ -166,89 +138,3 @@ function rebuildBundles (pkg, folder, parent, gtop, cb) {
}), cb)
})
}
function linkBins (pkg, folder, parent, gtop, cb) {
if (!pkg.bin || !gtop && path.basename(parent) !== 'node_modules') {
return cb()
}
var binRoot = gtop ? npm.globalBin
: path.resolve(parent, '.bin')
log.verbose('linkBins', [pkg.bin, binRoot, gtop])
asyncMap(Object.keys(pkg.bin), function (b, cb) {
linkBin(
path.resolve(folder, pkg.bin[b]),
path.resolve(binRoot, b),
gtop && folder,
function (er) {
if (er) return cb(er)
// bins should always be executable.
// XXX skip chmod on windows?
var src = path.resolve(folder, pkg.bin[b])
fs.chmod(src, npm.modes.exec, function (er) {
if (er && er.code === 'ENOENT' && npm.config.get('ignore-scripts')) {
return cb()
}
if (er) return cb(er)
isHashbangFile(src).then((isHashbang) => {
if (isHashbang) return dos2Unix(src)
}).then(() => {
if (!gtop) return cb()
var dest = path.resolve(binRoot, b)
var out = npm.config.get('parseable')
? dest + '::' + src + ':BINFILE'
: dest + ' -> ' + src
if (!npm.config.get('json') && !npm.config.get('parseable')) output(out)
cb()
}).catch(cb)
})
}
)
}, cb)
}
function linkBin (from, to, gently, cb) {
if (process.platform !== 'win32') {
return linkIfExists(from, to, gently, cb)
} else {
return cmdShimIfExists(from, to, cb)
}
}
function linkMans (pkg, folder, parent, gtop, cb) {
if (!pkg.man || !gtop || process.platform === 'win32') return cb()
var manRoot = path.resolve(npm.config.get('prefix'), 'share', 'man')
log.verbose('linkMans', 'man files are', pkg.man, 'in', manRoot)
// make sure that the mans are unique.
// otherwise, if there are dupes, it'll fail with EEXIST
var set = pkg.man.reduce(function (acc, man) {
acc[path.basename(man)] = man
return acc
}, {})
pkg.man = pkg.man.filter(function (man) {
return set[path.basename(man)] === man
})
asyncMap(pkg.man, function (man, cb) {
if (typeof man !== 'string') return cb()
log.silly('linkMans', 'preparing to link', man)
var parseMan = man.match(/(.*\.([0-9]+)(\.gz)?)$/)
if (!parseMan) {
return cb(new Error(
man + ' is not a valid name for a man file. ' +
'Man files must end with a number, ' +
'and optionally a .gz suffix if they are compressed.'
))
}
var stem = parseMan[1]
var sxn = parseMan[2]
var bn = path.basename(stem)
var manSrc = path.resolve(folder, man)
var manDest = path.join(manRoot, 'man' + sxn, bn)
linkIfExists(manSrc, manDest, gtop && folder, cb)
}, cb)
}

View File

@ -4,6 +4,7 @@ const BB = require('bluebird')
const assert = require('assert')
const cacache = require('cacache')
const finished = BB.promisify(require('mississippi').finished)
const log = require('npmlog')
const npa = require('npm-package-arg')
const npm = require('./npm.js')
@ -105,7 +106,7 @@ function add (args, where) {
log.verbose('cache add', 'spec', spec)
if (!spec) return BB.reject(new Error(usage))
log.silly('cache add', 'parsed spec', spec)
return pacote.prefetch(spec, pacoteOpts({where}))
return finished(pacote.tarball.stream(spec, pacoteOpts({where})).resume())
}
cache.verify = verify

32
deps/npm/lib/config/bin-links.js vendored Normal file
View File

@ -0,0 +1,32 @@
'use strict'
const npm = require('../npm.js')
var packageId = require('../utils/package-id.js')
const log = require('npmlog')
module.exports = binLinksOpts
function binLinksOpts (pkg) {
return {
ignoreScripts: npm.config.get('ignore-scripts'),
force: npm.config.get('force'),
globalBin: npm.globalBin,
globalDir: npm.globalDir,
json: npm.config.get('json'),
log: log,
name: 'npm',
parseable: npm.config.get('parseable'),
pkgId: packageId(pkg),
prefix: npm.config.get('prefix'),
prefixes: [
npm.prefix,
npm.globalPrefix,
npm.dir,
npm.root,
npm.globalDir,
npm.bin,
npm.globalBin
],
umask: npm.config.get('umask')
}
}

View File

@ -225,7 +225,6 @@ Conf.prototype.loadPrefix = require('./load-prefix.js')
Conf.prototype.loadCAFile = require('./load-cafile.js')
Conf.prototype.loadUid = require('./load-uid.js')
Conf.prototype.setUser = require('./set-user.js')
Conf.prototype.findPrefix = require('./find-prefix.js')
Conf.prototype.getCredentialsByURI = require('./get-credentials-by-uri.js')
Conf.prototype.setCredentialsByURI = require('./set-credentials-by-uri.js')
Conf.prototype.clearCredentialsByURI = require('./clear-credentials-by-uri.js')

View File

@ -176,6 +176,7 @@ Object.defineProperty(exports, 'defaults', {get: function () {
maxsockets: 50,
message: '%s',
'metrics-registry': null,
'node-options': null,
'node-version': process.version,
'offline': false,
'onload-script': false,
@ -183,6 +184,7 @@ Object.defineProperty(exports, 'defaults', {get: function () {
optional: true,
otp: null,
'package-lock': true,
'package-lock-only': false,
parseable: false,
'prefer-offline': false,
'prefer-online': false,
@ -308,6 +310,7 @@ exports.types = {
maxsockets: Number,
message: String,
'metrics-registry': [null, String],
'node-options': [null, String],
'node-version': [null, semver],
offline: Boolean,
'onload-script': [null, String],
@ -315,6 +318,7 @@ exports.types = {
optional: Boolean,
'package-lock': Boolean,
otp: Number,
'package-lock-only': Boolean,
parseable: Boolean,
'prefer-offline': Boolean,
'prefer-online': Boolean,

77
deps/npm/lib/config/fetch-opts.js vendored Normal file
View File

@ -0,0 +1,77 @@
'use strict'
const url = require('url')
module.exports.fromPacote = fromPacote
function fromPacote (opts) {
return {
cache: getCacheMode(opts),
cacheManager: opts.cache,
ca: opts.ca,
cert: opts.cert,
headers: getHeaders('', opts.registry, opts),
key: opts.key,
localAddress: opts.localAddress,
maxSockets: opts.maxSockets,
proxy: opts.proxy,
referer: opts.refer,
retry: opts.retry,
strictSSL: !!opts.strictSSL,
timeout: opts.timeout,
uid: opts.uid,
gid: opts.gid
}
}
function getCacheMode (opts) {
return opts.offline
? 'only-if-cached'
: opts.preferOffline
? 'force-cache'
: opts.preferOnline
? 'no-cache'
: 'default'
}
function getHeaders (uri, registry, opts) {
const headers = Object.assign({
'npm-in-ci': opts.isFromCI,
'npm-scope': opts.projectScope,
'npm-session': opts.npmSession,
'user-agent': opts.userAgent,
'referer': opts.refer
}, opts.headers)
// check for auth settings specific to this registry
let auth = (
opts.auth &&
opts.auth[registryKey(registry)]
) || opts.auth
// If a tarball is hosted on a different place than the manifest, only send
// credentials on `alwaysAuth`
const shouldAuth = auth && (
auth.alwaysAuth ||
url.parse(uri).host === url.parse(registry).host
)
if (shouldAuth && auth.token) {
headers.authorization = `Bearer ${auth.token}`
} else if (shouldAuth && auth.username && auth.password) {
const encoded = Buffer.from(
`${auth.username}:${auth.password}`, 'utf8'
).toString('base64')
headers.authorization = `Basic ${encoded}`
} else if (shouldAuth && auth._auth) {
headers.authorization = `Basic ${auth._auth}`
}
return headers
}
function registryKey (registry) {
const parsed = url.parse(registry)
const formatted = url.format({
host: parsed.host,
pathname: parsed.pathname,
slashes: parsed.slashes
})
return url.resolve(formatted, '.')
}

View File

@ -1,56 +0,0 @@
// try to find the most reasonable prefix to use
module.exports = findPrefix
var fs = require('fs')
var path = require('path')
function findPrefix (p, cb_) {
function cb (er, p) {
process.nextTick(function () {
cb_(er, p)
})
}
p = path.resolve(p)
// if there's no node_modules folder, then
// walk up until we hopefully find one.
// if none anywhere, then use cwd.
var walkedUp = false
while (path.basename(p) === 'node_modules') {
p = path.dirname(p)
walkedUp = true
}
if (walkedUp) return cb(null, p)
findPrefix_(p, p, cb)
}
function findPrefix_ (p, original, cb) {
if (p === '/' ||
(process.platform === 'win32' && p.match(/^[a-zA-Z]:(\\|\/)?$/))) {
return cb(null, original)
}
fs.readdir(p, function (er, files) {
// an error right away is a bad sign.
// unless the prefix was simply a non
// existent directory.
if (er && p === original) {
if (er.code === 'ENOENT') return cb(null, original)
return cb(er)
}
// walked up too high or something.
if (er) return cb(null, original)
if (files.indexOf('node_modules') !== -1 ||
files.indexOf('package.json') !== -1) {
return cb(null, p)
}
var d = path.dirname(p)
if (d === p) return cb(null, original)
return findPrefix_(d, original, cb)
})
}

32
deps/npm/lib/config/gentle-fs.js vendored Normal file
View File

@ -0,0 +1,32 @@
'use strict'
const npm = require('../npm.js')
const log = require('npmlog')
module.exports = gentleFSOpts
function gentleFSOpts (gently, base, abs) {
return {
// never rm the root, prefix, or bin dirs
//
// globals included because of `npm link` -- as far as the package
// requesting the link is concerned, the linked package is always
// installed globally
prefixes: [
npm.prefix,
npm.globalPrefix,
npm.dir,
npm.root,
npm.globalDir,
npm.bin,
npm.globalBin
],
absolute: abs,
log: log,
prefix: npm.prefix,
force: npm.config.get('force'),
gently: gently,
base: base,
name: 'npm'
}
}

View File

@ -18,6 +18,7 @@ function lifecycleOpts (moreOpts) {
ignorePrepublish: npm.config.get('ignore-prepublish'),
ignoreScripts: npm.config.get('ignore-scripts'),
log: log,
nodeOptions: npm.config.get('node-options'),
production: npm.config.get('production'),
scriptShell: npm.config.get('script-shell'),
scriptsPrependNodePath: npm.config.get('scripts-prepend-node-path'),

View File

@ -1,6 +1,6 @@
module.exports = loadPrefix
var findPrefix = require('./find-prefix.js')
var findPrefix = require('find-npm-prefix')
var path = require('path')
function loadPrefix (cb) {
@ -43,9 +43,9 @@ function loadPrefix (cb) {
p = path.resolve(cli.prefix)
process.nextTick(cb)
} else {
findPrefix(process.cwd(), function (er, found) {
findPrefix(process.cwd()).then((found) => {
p = found
cb(er)
})
cb()
}, cb)
}
}

View File

@ -106,6 +106,8 @@ var mkdirp = require('mkdirp')
var rimraf = require('rimraf')
var iferr = require('iferr')
var validate = require('aproba')
var uniq = require('lodash.uniq')
var Bluebird = require('bluebird')
// npm internal utils
var npm = require('./npm.js')
@ -132,6 +134,7 @@ var decomposeActions = require('./install/decompose-actions.js')
var validateTree = require('./install/validate-tree.js')
var validateArgs = require('./install/validate-args.js')
var saveRequested = require('./install/save.js').saveRequested
var saveShrinkwrap = require('./install/save.js').saveShrinkwrap
var getSaveType = require('./install/save.js').getSaveType
var doSerialActions = require('./install/actions.js').doSerial
var doReverseSerialActions = require('./install/actions.js').doReverseSerial
@ -199,8 +202,9 @@ function install (where, args, cb) {
new Installer(where, dryrun, args).run(cb)
}
function Installer (where, dryrun, args) {
validate('SBA', arguments)
function Installer (where, dryrun, args, opts) {
validate('SBA|SBAO', arguments)
if (!opts) opts = {}
this.where = where
this.dryrun = dryrun
this.args = args
@ -215,23 +219,40 @@ function Installer (where, dryrun, args) {
this.progress = {}
this.noPackageJsonOk = !!args.length
this.topLevelLifecycles = !args.length
this.dev = npm.config.get('dev') || (!/^prod(uction)?$/.test(npm.config.get('only')) && !npm.config.get('production')) || /^dev(elopment)?$/.test(npm.config.get('only'))
this.prod = !/^dev(elopment)?$/.test(npm.config.get('only'))
this.rollback = npm.config.get('rollback')
this.link = npm.config.get('link')
this.global = this.where === path.resolve(npm.globalDir, '..')
const dev = npm.config.get('dev')
const only = npm.config.get('only')
const onlyProd = /^prod(uction)?$/.test(only)
const onlyDev = /^dev(elopment)?$/.test(only)
const prod = npm.config.get('production')
this.dev = opts.dev != null ? opts.dev : dev || (!onlyProd && !prod) || onlyDev
this.prod = opts.prod != null ? opts.prod : !onlyDev
this.packageLockOnly = opts.packageLockOnly != null
? opts.packageLockOnly : npm.config.get('package-lock-only')
this.rollback = opts.rollback != null ? opts.rollback : npm.config.get('rollback')
this.link = opts.link != null ? opts.link : npm.config.get('link')
this.saveOnlyLock = opts.saveOnlyLock
this.global = opts.global != null ? opts.global : this.where === path.resolve(npm.globalDir, '..')
this.started = Date.now()
}
Installer.prototype = {}
Installer.prototype.run = function (_cb) {
validate('F', arguments)
validate('F|', arguments)
var cb = function (err) {
saveMetrics(!err)
return _cb.apply(this, arguments)
var result
var cb
if (_cb) {
cb = function (err) {
saveMetrics(!err)
return _cb.apply(this, arguments)
}
} else {
result = new Promise((resolve, reject) => {
cb = (err, value) => err ? reject(err) : resolve(value)
})
}
// 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
@ -274,7 +295,11 @@ Installer.prototype.run = function (_cb) {
[this, this.debugActions, 'diffTrees', 'differences'],
[this, this.debugActions, 'decomposeActions', 'todo'])
if (!this.dryrun) {
if (this.packageLockOnly) {
postInstallSteps.push(
[this, this.saveToDependencies])
} else if (!this.dryrun) {
installSteps.push(
[this.newTracker(log, 'executeActions', 8)],
[this, this.executeActions],
@ -296,6 +321,7 @@ Installer.prototype.run = function (_cb) {
// until after we extract them
[this, (next) => { computeMetadata(this.idealTree); next() }],
[this, this.pruneIdealTree],
[this, this.debugLogicalTree, 'saveTree', 'idealTree'],
[this, this.saveToDependencies])
}
}
@ -319,6 +345,7 @@ Installer.prototype.run = function (_cb) {
cb(installEr || postInstallEr, self.getInstalledModules(), self.idealTree)
})
})
return result
}
Installer.prototype.loadArgMetadata = function (next) {
@ -544,17 +571,15 @@ Installer.prototype.executeActions = function (cb) {
Installer.prototype.rollbackFailedOptional = function (staging, actionsToRun, cb) {
if (!this.rollback) return cb()
var failed = actionsToRun.map(function (action) {
var failed = uniq(actionsToRun.map(function (action) {
return action[1]
}).filter(function (pkg) {
return pkg.failed && pkg.rollback
})
}))
var top = this.currentTree && this.currentTree.path
asyncMap(failed, function (pkg, next) {
asyncMap(pkg.rollback, function (rollback, done) {
rollback(top, staging, pkg, done)
}, next)
}, cb)
Bluebird.map(failed, (pkg) => {
return Bluebird.map(pkg.rollback, (rollback) => rollback(top, staging, pkg))
}).asCallback(cb)
}
Installer.prototype.commit = function (staging, actionsToRun, cb) {
@ -609,7 +634,11 @@ Installer.prototype.saveToDependencies = function (cb) {
validate('F', arguments)
if (this.failing) return cb()
log.silly('install', 'saveToDependencies')
saveRequested(this.idealTree, cb)
if (this.saveOnlyLock) {
saveShrinkwrap(this.idealTree, cb)
} else {
saveRequested(this.idealTree, cb)
}
}
Installer.prototype.readGlobalPackageData = function (cb) {
@ -747,6 +776,8 @@ Installer.prototype.printInstalledForHuman = function (diffs, cb) {
var moved = 0
diffs.forEach(function (action) {
var mutation = action[0]
var pkg = action[1]
if (pkg.failed) return
if (mutation === 'remove') {
++removed
} else if (mutation === 'move') {
@ -885,11 +916,11 @@ Installer.prototype.debugActions = function (name, actionListName, cb) {
// to define the arguments for use by chain before the property exists yet.
Installer.prototype.debugTree = function (name, treeName, cb) {
validate('SSF', arguments)
log.silly(name, this.prettify(this[treeName]).trim())
log.silly(name, this.archyDebugTree(this[treeName]).trim())
cb()
}
Installer.prototype.prettify = function (tree) {
Installer.prototype.archyDebugTree = function (tree) {
validate('O', arguments)
var seen = new Set()
function byName (aa, bb) {
@ -899,7 +930,29 @@ Installer.prototype.prettify = function (tree) {
seen.add(tree)
return {
label: packageId(tree),
nodes: tree.children.filter((tree) => { return !seen.has(tree) && !tree.removed && !tree.failed }).sort(byName).map(expandTree)
nodes: tree.children.filter((tree) => { return !seen.has(tree) && !tree.removed }).sort(byName).map(expandTree)
}
}
return archy(expandTree(tree), '', { unicode: npm.config.get('unicode') })
}
Installer.prototype.debugLogicalTree = function (name, treeName, cb) {
validate('SSF', arguments)
this[treeName] && log.silly(name, this.archyDebugLogicalTree(this[treeName]).trim())
cb()
}
Installer.prototype.archyDebugLogicalTree = function (tree) {
validate('O', arguments)
var seen = new Set()
function byName (aa, bb) {
return packageId(aa).localeCompare(packageId(bb))
}
function expandTree (tree) {
seen.add(tree)
return {
label: packageId(tree),
nodes: tree.requires.filter((tree) => { return !seen.has(tree) && !tree.removed }).sort(byName).map(expandTree)
}
}
return archy(expandTree(tree), '', { unicode: npm.config.get('unicode') })

View File

@ -7,7 +7,7 @@ var packageId = require('../../utils/package-id.js')
module.exports = function (staging, pkg, log, next) {
log.silly('build', packageId(pkg))
chain([
[build.linkStuff, pkg.package, pkg.path, npm.config.get('global'), true],
[build.linkStuff, pkg.package, pkg.path, npm.config.get('global')],
[build.writeBuiltinConf, pkg.package, pkg.path]
], next)
}

View File

@ -16,6 +16,7 @@ let pacoteOpts
const path = require('path')
const localWorker = require('./extract-worker.js')
const workerFarm = require('worker-farm')
const isRegistry = require('../../utils/is-registry.js')
const WORKER_PATH = require.resolve('./extract-worker.js')
let workers
@ -72,7 +73,7 @@ function extract (staging, pkg, log) {
let msg = args
const spec = typeof args[0] === 'string' ? npa(args[0]) : args[0]
args[0] = spec.raw
if (ENABLE_WORKERS && (spec.registry || spec.type === 'remote')) {
if (ENABLE_WORKERS && (isRegistry(spec) || spec.type === 'remote')) {
// We can't serialize these options
opts.loglevel = opts.log.level
opts.log = null

View File

@ -1,5 +1,8 @@
'use strict'
const BB = require('bluebird')
const finished = BB.promisify(require('mississippi').finished)
const packageId = require('../../utils/package-id.js')
const pacote = require('pacote')
const pacoteOpts = require('../../config/pacote')
@ -8,5 +11,6 @@ module.exports = fetch
function fetch (staging, pkg, log, next) {
log.silly('fetch', packageId(pkg))
const opts = pacoteOpts({integrity: pkg.package._integrity})
pacote.prefetch(pkg.package._requested, opts).then(() => next(), next)
return finished(pacote.tarball.stream(pkg.package._requested, opts))
.then(() => next(), next)
}

View File

@ -7,11 +7,13 @@ const mkdirp = Bluebird.promisify(require('mkdirp'))
const lstat = Bluebird.promisify(fs.lstat)
const readdir = Bluebird.promisify(fs.readdir)
const symlink = Bluebird.promisify(fs.symlink)
const gentlyRm = require('../../utils/gently-rm')
const gentlyRm = Bluebird.promisify(require('../../utils/gently-rm'))
const moduleStagingPath = require('../module-staging-path.js')
const move = require('move-concurrently')
const moveOpts = {fs: fs, Promise: Bluebird, maxConcurrency: 4}
const getRequested = require('../get-requested.js')
const log = require('npmlog')
const packageId = require('../../utils/package-id.js')
module.exports = function (staging, pkg, log) {
log.silly('finalize', pkg.realpath)
@ -88,8 +90,17 @@ module.exports = function (staging, pkg, log) {
}
}
module.exports.rollback = function (top, staging, pkg, next) {
const requested = pkg.package._requested || getRequested(pkg)
if (requested && requested.type === 'directory') return next()
gentlyRm(pkg.path, false, top, next)
module.exports.rollback = function (top, staging, pkg) {
return Bluebird.try(() => {
const requested = pkg.package._requested || getRequested(pkg)
if (requested && requested.type === 'directory') return Promise.resolve()
// strictly speaking rolling back a finalize should ONLY remove module that
// was being finalized, not any of the things under it. But currently
// those modules are guaranteed to be useless so we may as well remove them too.
// When/if we separate `commit` step and can rollback to previous versions
// of upgraded modules then we'll need to revisit this…
return gentlyRm(pkg.path, false, top).catch((err) => {
log.warn('rollback', `Rolling back ${packageId(pkg)} failed (this is probably harmless): ${err.message ? err.message : err}`)
})
})
}

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