Revert "deps: upgrade npm to 5.8.0"

This reverts commit 25a816dcda7b1db0929501acfe13f2fe5119759b.

PR-URL: https://github.com/nodejs/node/pull/19837
Reviewed-By: Gus Caplan <me@gus.host>
This commit is contained in:
Anna Henningsen 2018-04-05 22:51:49 +02:00
parent 026f6b787a
commit e37effe4ce
No known key found for this signature in database
GPG Key ID: 9C63F3A6CD2AD8F9
1451 changed files with 24336 additions and 44211 deletions

View File

@ -3,7 +3,6 @@
- [ ] npm is crashing.
- [ ] npm is producing an incorrect install.
- [ ] npm is doing something I don't understand.
- [ ] npm is producing incorrect or undesirable behavior.
- [ ] Other (_see below for feature requests_):
#### What's going wrong?

25
deps/npm/AUTHORS vendored
View File

@ -536,28 +536,3 @@ Jacob Wejendorp <jacob@wejendorp.dk>
Alejandro López <a.lopez.sanchez@outlook.es>
Victor Belozyorov <hi@vbelozyorov.com>
Bradley Farias <bfarias@godaddy.com>
Kyle E. Mitchell <kyle@kemitchell.com>
Tuan Anh Tran <me@tuananh.org>
Nathan Woltman <nwoltman@outlook.com>
Kyra <kyranet@users.noreply.github.com>
Leаh Neukirchen <chneukirchen@gmail.com>
Kyle Spier-Swenson <kyleshome@gmail.com>
Joe Bowbeer <joe.bowbeer@gmail.com>
Nalin Bhardwaj <6984346+nalinbhardwaj@users.noreply.github.com>
Nicolas Garnier <ngarnier@users.noreply.github.com>
Vladislav Rassokhin <vladrassokhin@gmail.com>
Josh Goldberg <joshuakgoldberg@outlook.com>
laggingreflex <laggingreflex@gmail.com>
Kristofer Selbekk <selbekk@users.noreply.github.com>
sreenivas alapati <sreenivas9alapati@gmail.com>
Ben Creasy <ben@bencreasy.com>
Allan Kimmer Jensen <allankimmerjensen@gmail.com>
rinfan <rinfan@users.noreply.github.com>
Matt Hoyle <code@deployable.co>
Mason Pawsey <mpawsey@csub.edu>
Johannes Bader <olydis@users.noreply.github.com>
Michael Zabka <zabka.michael@gmail.com>
Bruce MacNaughton <bmacnaughton@gmail.com>
Christopher Patty <christopher.patty@aggiemail.usu.edu>
Max Stoiber <contact@mxstbr.com>
Enrico Weigelt <enrico.weigelt@gr13.net>

453
deps/npm/CHANGELOG.md vendored
View File

@ -1,449 +1,3 @@
## v5.8.0 (2018-03-08):
Hey again, everyone! While last release was focused largely around PRs from the
CLI team, this release is mostly pulling in community PRs in npm itself and its
dependencies! We've got a good chunk of wonderful contributions for y'all, and
even new features and performance improvements! 🎉
We're hoping to continue our biweekly (as in every-other-week biweekly) release
schedule from now on, so you should be seeing more steady npm releases from here
on out. And that's good, 'cause we've got a _ton_ of new stuff on our roadmap
for this year. Keep an eye out for exciting news. 👀
### FEATURES
* [`2f513fe1c`](https://github.com/npm/npm/commit/2f513fe1ce6db055b04a63fe4360212a83f77b34)
[#19904](https://github.com/npm/npm/pull/19904)
Make a best-attempt at preserving line ending style when saving
`package.json`/`package-lock.json`/`npm-shrinkwrap.json`. This goes
hand-in-hand with a previous patch to preserve detected indentation style.
([@tuananh](https://github.com/tuananh))
* [`d3cfd41a2`](https://github.com/npm/npm/commit/d3cfd41a28253db5a18260f68642513cbbc93e3b)
`pacote@7.6.1` ([@zkat](https://github.com/zkat))
* Enable `file:`-based `resolved` URIs in `package-lock.json`.
* Retry git-based operations on certain types of failure.
* [`ecfbb16dc`](https://github.com/npm/npm/commit/ecfbb16dc705f28aa61b3223bdbf9e47230a0fa4)
[#19929](https://github.com/npm/npm/pull/19929)
Add support for the [`NO_COLOR` standard](http://no-color.org). This gives a
cross-application, consistent way of disabling ANSI color code output. Note
that npm already supported this through `--no-color` or
`npm_config_color='false'` configurations, so this is just another way to do
it.
([@chneukirchen](https://github.com/chneukirchen))
* [`fc8761daf`](https://github.com/npm/npm/commit/fc8761daf1e8749481457973890fa516eb96a195)
[#19629](https://github.com/npm/npm/pull/19629)
Give more detailed, contextual information when npm fails to parse
`package-lock.json` and `npm-shrinkwrap.json`, instead of saying `JSON parse
error` and leaving you out in the cold.
([@JoshuaKGoldberg](https://github.com/JoshuaKGoldberg))
* [`1d368e1e6`](https://github.com/npm/npm/commit/1d368e1e63229f236b9dbabf628989fa3aa98bdb)
[#19157](https://github.com/npm/npm/pull/19157)
Add `--no-proxy` config option. Previously, you needed to use the `NO_PROXY`
environment variable to use this feature -- now it's an actual npm option.
([@Saturate](https://github.com/Saturate))
* [`f0e998daa`](https://github.com/npm/npm/commit/f0e998daa049810d5f928615132250021e46451d)
[#18426](https://github.com/npm/npm/pull/18426)
Do environment variable replacement in config files even for config keys or
fragments of keys.
([@misak113](https://github.com/misak113))
* [`9847c82a8`](https://github.com/npm/npm/commit/9847c82a8528cfdf5968e9bb00abd8ed47903b5c)
[#18384](https://github.com/npm/npm/pull/18384)
Better error messaging and suggestions when users get `EPERM`/`EACCES` errors.
([@chrisjpatty](https://github.com/chrisjpatty))
* [`b9d0c0c01`](https://github.com/npm/npm/commit/b9d0c0c0173542a8d741a9a17b9fb34fbaf5068e)
[#19448](https://github.com/npm/npm/pull/19448)
Holiday celebrations now include all JavaScripters, not just Node developers.
([@isaacs](https://github.com/isaacs))
### NPM CI
I hope y'all have been having fun with `npm ci` so far! Since this is the first
release since that went out, we've had a few fixes and improvements now that
folks have actually gotten their hands on it! Benchmarks have been super
promising so far, and I've gotten messages from a lot of you saying you've sped
up your CI work by **2-5x** in some cases! Have a good example? Tell us on
Twitter!
`npm ci` is, right now, [the fastest
installer](http://blog.npmjs.org/post/171556855892/introducing-npm-ci-for-faster-more-reliable)
you can use in CI situations, so go check it out if you haven't already! We'll
continue doing performance improvements on it, and a lot of those will help make
`npm install` fast as well. 🏎😎
* [`0d7f203d9`](https://github.com/npm/npm/commit/0d7f203d9e86cc6c8d69107689ea60fc7cbab424)
`libcipm@1.6.0`
([@zkat](https://github.com/zkat))
This `libcipm` release includes a number of improvements:
* **PERFORMANCE** Reduce calls to `read-package-json` and separate JSON update phase from man/bin linking phase. `npm ci` should be noticeably faster.
* **FEATURE** Progress bar now fills up as packages are installed, instead of sitting there doing nothing.
* **BUGFIX** Add support for `--only` and `--also` options.
* **BUFGIX** Linking binaries and running scripts in parallel was causing packages to sometimes clobber each other when hoisted, as well as potentially running too many run-scripts in parallel. This is now a serial operation, and it turns out to have had relatively little actual performance impact.
* **BUGFIX** Stop adding `_from` to directory deps (aka `file:packages/my-dep`).
### BUGFIXES
* [`58d2aa58d`](https://github.com/npm/npm/commit/58d2aa58d5f9c4db49f57a5f33952b3106778669)
[#20027](https://github.com/npm/npm/pull/20027)
Use a specific mtime when packing tarballs instead of the beginning of epoch
time. This should allow `npm pack` to generate tarballs with identical hashes
for identical contents, while fixing issues with some `zip` implementations
that do not support pre-1980 timestamps.
([@isaacs](https://github.com/isaacs))
* [`4f319de1d`](https://github.com/npm/npm/commit/4f319de1d6e8aca5fb68f78023425233da4f07f6)
Don't fall back to couch adduser if we didn't try couch login.
([@iarna](https://github.com/iarna))
* [`c8230c9bb`](https://github.com/npm/npm/commit/c8230c9bbd596156a4a8cfe62f2370f81d22bd9f)
[#19608](https://github.com/npm/npm/pull/19608)
Fix issue where using the npm-bundled `npx` on Windows was invoking `npx
prefix` (and downloading that package).
([@laggingreflex](https://github.com/laggingreflex))
* [`d70c01970`](https://github.com/npm/npm/commit/d70c01970311f4e84b35eef8559c114136a9ebc7)
[#18953](https://github.com/npm/npm/pull/18953)
Avoid using code that depends on `node@>=4` in the `unsupported` check, so npm
can report the issue normally instead of syntax-crashing.
([@deployable](https://github.com/deployable))
### DOCUMENTATION
* [`4477ca2d9`](https://github.com/npm/npm/commit/4477ca2d993088ac40ef5cf39d1f9c68be3d6252)
`marked@0.3.17`: Fixes issue preventing correct rendering of backticked
strings. man pages should be rendering correctly now instead of having empty
spaces wherever backticks were used.
([@joshbruce](https://github.com/joshbruce))
* [`71076ebda`](https://github.com/npm/npm/commit/71076ebdaddd04f2bf330fe668f15750bcff00ea)
[#19950](https://github.com/npm/npm/pull/19950)
Add a note to install --production.
([@kyranet](https://github.com/kyranet))
* [`3a33400b8`](https://github.com/npm/npm/commit/3a33400b89a8dd00fa9a49fcb57a8add36f79fa6)
[#19957](https://github.com/npm/npm/pull/19957)
nudge around some details in ci docs
([@zkat](https://github.com/zkat))
* [`06038246a`](https://github.com/npm/npm/commit/06038246a3fa58d6f42bb4ab897aa534ff6ed282)
[#19893](https://github.com/npm/npm/pull/19893)
Add a common open reason to the issue template.
([@MrStonedOne](https://github.com/MrStonedOne))
* [`7376dd8af`](https://github.com/npm/npm/commit/7376dd8afb654929adade126b4925461aa52da12)
[#19870](https://github.com/npm/npm/pull/19870)
Fix typo in `npm-config.md`
([@joebowbeer](https://github.com/joebowbeer))
* [`5390ed4fa`](https://github.com/npm/npm/commit/5390ed4fa2b480f7c58fff6ee670120149ec2d45)
[#19858](https://github.com/npm/npm/pull/19858)
Fix documented default value for config save option. It was still documented
as `false`, even though `npm@5.0.0` set it to `true` by default.
([@nalinbhardwaj](https://github.com/nalinbhardwaj))
* [`dc36d850a`](https://github.com/npm/npm/commit/dc36d850a1d763f71a98c99db05ca875dab124ed)
[#19552](https://github.com/npm/npm/pull/19552)
Rework `npm update` docs now that `--save` is on by default.
([@selbekk](https://github.com/selbekk))
* [`5ec5dffc8`](https://github.com/npm/npm/commit/5ec5dffc80527d9330388ff82926dd890f4945af)
[#19726](https://github.com/npm/npm/pull/19726)
Clarify that `name` and `version` fields are optional if your package is not
supposed to be installable as a dependency.
([@ngarnier](https://github.com/ngarnier))
* [`046500994`](https://github.com/npm/npm/commit/0465009942d6423f878c1359e91972fa5990f996)
[#19676](https://github.com/npm/npm/pull/19676)
Fix documented cache location on Windows.
([@VladRassokhin](https://github.com/VladRassokhin))
* [`ffa84cd0f`](https://github.com/npm/npm/commit/ffa84cd0f43c07858506764b4151ba6af11ea120)
[#19475](https://github.com/npm/npm/pull/19475)
Added example for `homepage` field from `package.json`.
([@cg-cnu](https://github.com/cg-cnu))
* [`de72d9a18`](https://github.com/npm/npm/commit/de72d9a18ae650ebaee0fdd6694fc89b1cbe8e95)
[#19307](https://github.com/npm/npm/pull/19307)
Document the `requires` field in `npm help package-lock.json`.
([@jcrben](https://github.com/jcrben))
* [`35c4abded`](https://github.com/npm/npm/commit/35c4abdedfa622f27e8ee47aa6e293f435323623)
[#18976](https://github.com/npm/npm/pull/18976)
Typo fix in coding style documentation.
([@rinfan](https://github.com/rinfan))
* [`0616fd22a`](https://github.com/npm/npm/commit/0616fd22a4e4f2b2998bb70d86d269756aab64be)
[#19216](https://github.com/npm/npm/pull/19216)
Add `edit` section to description in `npm-team.md`.
([@WispProxy](https://github.com/WispProxy))
* [`c2bbaaa58`](https://github.com/npm/npm/commit/c2bbaaa582d024cc48b410757efbb81d95837d43)
[#19194](https://github.com/npm/npm/pull/19194)
Tiny style fix in `npm.md`.
([@WispProxy](https://github.com/WispProxy))
* [`dcdfdcbb0`](https://github.com/npm/npm/commit/dcdfdcbb0035ef3290bd0912f562e26f6fc4ea94)
[#19192](https://github.com/npm/npm/pull/19192)
Document `--development` flag in `npm-ls.md`.
([@WispProxy](https://github.com/WispProxy))
* [`d7ff07135`](https://github.com/npm/npm/commit/d7ff07135a685dd89c15e29d6a28fca33cf448b0)
[#18514](https://github.com/npm/npm/pull/18514)
Make it so `javascript` -> `JavaScript`. This is important.
([@masonpawsey](https://github.com/masonpawsey))
* [`7a8705113`](https://github.com/npm/npm/commit/7a870511327d31e8921d6afa845ec8065c60064b)
[#18407](https://github.com/npm/npm/pull/18407)
Clarify the mechanics of the `file` field in `package.json` a bit.
([@bmacnaughton](https://github.com/bmacnaughton))
* [`b2a1cf084`](https://github.com/npm/npm/commit/b2a1cf0844ceaeb51ed04f3ae81678527ec9ae68)
[#18382](https://github.com/npm/npm/pull/18382)
Document the [`browser`
field](https://github.com/defunctzombie/package-browser-field-spec) in
`package.json`.
([@mxstbr](https://github.com/mxstbr))
### MISC
* [`b8a48a959`](https://github.com/npm/npm/commit/b8a48a9595b379cfc2a2c576f61062120ea0caf7)
[#19907](https://github.com/npm/npm/pull/19907)
Consolidate code for stringifying `package.json` and package locks. Also adds
tests have been added to test that `package[-lock].json` files are written to
disk with their original line endings.
([@nwoltman](https://github.com/nwoltman))
* [`b4f707d9f`](https://github.com/npm/npm/commit/b4f707d9f543f0995ed5811827a892fc8b2192b5)
[#19879](https://github.com/npm/npm/pull/19879)
Remove unused devDependency `nock` from `.gitignore`.
([@watilde](https://github.com/watilde))
* [`8150dd5f7`](https://github.com/npm/npm/commit/8150dd5f72520eb143f75e44787a5775bd8b8ebc)
[#16540](https://github.com/npm/npm/pull/16540)
Stop doing an `uninstall` when using `make clean`.
([@metux](https://github.com/metux))
### OTHER DEPENDENCY BUMPS
* [`ab237a2a5`](https://github.com/npm/npm/commit/ab237a2a5dcf70ee490e2f0322dfedb1560251d4)
`init-package-json@1.10.3`
([@zkat](https://github.com/zkat))
* [`f6d668941`](https://github.com/npm/npm/commit/f6d6689414f00a67a1f34afc6791bdc7d7be4d9b)
`npm-lifecycle@2.0.1`
([@zkat](https://github.com/zkat))
* [`882bfbdfa`](https://github.com/npm/npm/commit/882bfbdfaa3eb09b35875e648545cb6967f72562)
`npm-registry-client@8.5.1`
([@zkat](https://github.com/zkat))
* [`6ae38055b`](https://github.com/npm/npm/commit/6ae38055ba69db5785ee6c394372de0333763822)
`read-package-json@2.0.1`: Support git packed refs `--all` mode.
([@zkat](https://github.com/zkat))
* [`89db703ae`](https://github.com/npm/npm/commit/89db703ae4e25b9fb6c9d7c5119520107a23a752)
`readable-stream@2.3.5`
([@mcollina](https://github.com/mcollina))
* [`634dfa5f4`](https://github.com/npm/npm/commit/634dfa5f476b7954b136105a8f9489f5631085a3)
`worker-farm@1.5.4`
([@rvagg](https://github.com/rvagg))
* [`92ad34439`](https://github.com/npm/npm/commit/92ad344399f7a23e308d0f3f02547656a47ae6c5)
`hosted-git-info@2.6.0`
([@zkat](https://github.com/zkat))
* [`75279c488`](https://github.com/npm/npm/commit/75279c4884d02bd7d451b66616e320eb8cb03bcb)
`tar@4.4.0`
([@isaacs](https://github.com/isaacs))
* [`228aba276`](https://github.com/npm/npm/commit/228aba276b19c987cd5989f9bb9ffbe25edb4030)
`write-file-atomic@2.3.0`
([@iarna](https://github.com/iarna))
* [`006e9d272`](https://github.com/npm/npm/commit/006e9d272914fc3ba016f110b1411dd20f8a937d)
`libnpx@10.0.1`
([@zkat](https://github.com/zkat))
* [`9985561e6`](https://github.com/npm/npm/commit/9985561e666473deeb352c1d4252adf17c2fa01d)
`mississippi@3.0.0`
([@bcomnes](https://github.com/bcomnes))
* [`1dc6b3b52`](https://github.com/npm/npm/commit/1dc6b3b525967bc8526aa4765e987136cb570e8e)
`tap@11.1.2`
([@isaacs](https://github.com/isaacs))
## v5.7.1 (2018-02-22):
This release reverts a patch that could cause some ownership changes on system
files when running from some directories when also using `sudo`. 😲
Thankfully, it only affected users running `npm@next`, which is part of our
staggered release system, which we use to prevent issues like this from going
out into the wider world before we can catch them. Users on `latest` would have
never seen this!
The original patch was added to increase consistency and reliability of methods
npm uses to avoid writing files as `root` in places it shouldn't, but the change
was applied in places that should have used regular `mkdirp`. This release
reverts that patch.
* [`74e149da6`](https://github.com/npm/npm/commit/74e149da6efe6ed89477faa81fef08eee7999ad0)
[`#19883`](https://github.com/npm/npm/issue/19883)
Revert "*: Switch from mkdirp to correctMkdir to preserve perms and owners"
This reverts commit [`94227e15`](https://github.com/npm/npm/commit/94227e15eeced836b3d7b3d2b5e5cc41d4959cff).
([@zkat](https://github.com/zkat))
## v5.7.0 (2018-02-20):
Hey y'all, it's been a while. Expect our release rate to increase back to
normal here, as we've got a lot in the pipeline. Right now we've got a
bunch of things from folks at npm. In the next release we'll be focusing on
user contributions and there are a lot of them queued up!
This release brings a bunch of exciting new features and bug fixes.
### PACKAGE-LOCK GIT MERGE CONFLICT RESOLUTION
Allow `npm install` to fix `package-lock.json` and `npm-shrinkwrap.json`
files that have merge conflicts in them without your having to edit them.
It works in conjunction with
[`npm-merge-driver`](https://www.npmjs.com/package/npm-merge-driver) to
entirely eliminate package-lock merge conflicts.
* [`e27674c22`](https://github.com/npm/npm/commit/e27674c221dc17473f23bffa50123e49a021ae34)
Automatically resolve merge conflicts in lock-files.
([@zkat](https://github.com/zkat))
### NPM CI
The new `npm ci` command installs from your lock-file ONLY. If your
`package.json` and your lock-file are out of sync then it will report an error.
It works by throwing away your `node_modules` and recreating it from scratch.
Beyond guaranteeing you that you'll only get what is in your lock-file it's
also much faster (2x-10x!) than `npm install` when you don't start with a
`node_modules`.
As you may take from the name, we expect it to be a big boon to continuous
integration environments. We also expect that folks who do production
deploys from git tags will see major gains.
* [`5e4de9c99`](https://github.com/npm/npm/commit/5e4de9c99c934e25ef7b9c788244cc3c993da559)
Add new `npm ci` installer.
([@zkat](https://github.com/zkat))
### OTHER NEW FEATURES
* [`4d418c21b`](https://github.com/npm/npm/commit/4d418c21b051f23a3b6fb085449fdf4bf4f826f5)
[#19817](https://github.com/npm/npm/pull/19817)
Include contributor count in installation summary.
([@kemitchell](https://github.com/kemitchell))
* [`17079c2a8`](https://github.com/npm/npm/commit/17079c2a880d3a6f8a67c8f17eedc7eb51b8f0f8)
Require password to change email through `npm profile`.
([@iarna](https://github.com/iarna))
* [`e7c5d226a`](https://github.com/npm/npm/commit/e7c5d226ac0ad3da0e38f16721c710909d0a9847)
[`4f5327c05`](https://github.com/npm/npm/commit/4f5327c0556764aa1bbc9b58b1a8c8a84136c56a)
[#19780](https://github.com/npm/npm/pull/19780)
Add support for web-based logins. This is not yet available on the registry, however.
([@isaacs](https://github.com/isaacs))
### BIG FIXES TO PRUNING
* [`827951590`](https://github.com/npm/npm/commit/8279515903cfa3026cf7096189485cdf29f74a8f)
Handle running `npm install package-name` with a `node_modules` containing
packages without sufficient metadata to verify their origin. The only way
to get install packages like this is to use a non-`npm` package manager.
Previously `npm` removed any packages that it couldn't verify. Now it
will leave them untouched as long as you're not asking for a full install.
On a full install they will be reinstalled (but the same versions will be
maintained).
This will fix problems for folks who are using a third party package
manager to install packages that have `postinstall` scripts that run
`npm install`.
([@iarna](https://github.com/iarna))
* [`3b305ee71`](https://github.com/npm/npm/commit/3b305ee71e2bf852ff3037366a1774b8c5fcc0a5)
Only auto-prune on installs that will create a lock-file. This restores
`npm@4` compatible behavior when the lock-file is disabled. When using a
lock-file `npm` will continue to remove anything in your `node_modules`
that's not in your lock-file. ([@iarna](https://github.com/iarna))
* [`cec5be542`](https://github.com/npm/npm/commit/cec5be5427f7f5106a905de8630e1243e9b36ef4)
Fix bug where `npm prune --production` would remove dev deps from the lock
file. It will now only remove them from `node_modules` not from your lock
file.
([@iarna](https://github.com/iarna))
* [`857dab03f`](https://github.com/npm/npm/commit/857dab03f2d58586b45d41d3e5af0fb2d4e824d0)
Fix bug where git dependencies would be removed or reinstalled when
installing other dependencies.
([@iarna](https://github.com/iarna))
### BUG FIXES TO TOKENS AND PROFILES
* [`a66e0cd03`](https://github.com/npm/npm/commit/a66e0cd0314893b745e6b9f6ca1708019b1d7aa3)
For CIDR filtered tokens, allow comma separated CIDR ranges, as documented. Previously
you could only pass in multiple cidr ranges with multiple `--cidr` command line options.
([@iarna](https://github.com/iarna))
* [`d259ab014`](https://github.com/npm/npm/commit/d259ab014748634a89cad5b20eb7a40f3223c0d5)
Fix token revocation when an OTP is required. Previously you had to pass
it in via `--otp`. Now it will prompt you for an OTP like other
`npm token` commands.
([@iarna](https://github.com/iarna))
* [`f8b1f6aec`](https://github.com/npm/npm/commit/f8b1f6aecadd3b9953c2b8b05d15f3a9cff67cfd)
Update token and profile commands to support legacy (username/password) authentication.
(The npm registry uses tokens, not username/password pairs, to authenticate commands.)
([@iarna](https://github.com/iarna))
### OTHER BUG FIXES
* [`6954dfc19`](https://github.com/npm/npm/commit/6954dfc192f88ac263f1fcc66cf820a21f4379f1)
Fix a bug where packages would get pushed deeper into the tree when upgrading without
an existing copy on disk. Having packages deeper in the tree ordinarily is harmless but
is not when peerDependencies are in play.
([@iarna](https://github.com/iarna))
* [`1ca916a1e`](https://github.com/npm/npm/commit/1ca916a1e9cf94691d1ff2e5e9d0204cfaba39e1)
Fix bug where when switching from a linked module to a non-linked module, the dependencies
of the module wouldn't be installed on the first run of `npm install`.
([@iarna](https://github.com/iarna))
* [`8c120ebb2`](https://github.com/npm/npm/commit/8c120ebb28e87bc6fe08a3fad1bb87b50026a33a)
Fix integrity matching to eliminate spurious EINTEGRITY errors.
([@zkat](https://github.com/zkat))
* [`94227e15e`](https://github.com/npm/npm/commit/94227e15eeced836b3d7b3d2b5e5cc41d4959cff)
More consistently make directories using perm and ownership preserving features.
([@iarna](https://github.com/iarna))
### DEPENDENCY UPDATES
* [`364b23c7f`](https://github.com/npm/npm/commit/364b23c7f8a231c0df3866d6a8bde4d3f37bbc00)
[`f2049f9e7`](https://github.com/npm/npm/commit/f2049f9e7992e6edcfce8619b59746789367150f)
`cacache@10.0.4`
([@zkat](https://github.com/zkat))
* [`d183d7675`](https://github.com/npm/npm/commit/d183d76757e8a29d63a999d7fb4edcc1486c25c1)
`find-npm-prefix@1.0.2`:
([@iarna](https://github.com/iarna))
* [`ffd6ea62c`](https://github.com/npm/npm/commit/ffd6ea62ce583baff38cf4901cf599639bc193c8)
`fs-minipass@1.2.5`
* [`ee63b8a31`](https://github.com/npm/npm/commit/ee63b8a311ac53b0cf2efa79babe61a2c4083ef6)
`ini@1.3.5`
([@isaacs](https://github.com/isaacs))
* [`6f73f5509`](https://github.com/npm/npm/commit/6f73f5509e9e8d606526565c7ceb71c62642466e)
`JSONStream@1.3.2`
([@dominictarr](https://github.com/dominictarr))
* [`26cd64869`](https://github.com/npm/npm/commit/26cd648697c1324979289e381fe837f9837f3874)
[`9bc6230cf`](https://github.com/npm/npm/commit/9bc6230cf34a09b7e4358145ff0ac3c69c23c3f6)
`libcipm@1.3.3`
([@zkat](https://github.com/zkat))
* [`21a39be42`](https://github.com/npm/npm/commit/21a39be4241a60a898d11a5967f3fc9868ef70c9)
`marked@0.3.1`:5
([@joshbruce](https://github.com/joshbruce))
* [`dabdf57b2`](https://github.com/npm/npm/commit/dabdf57b2d60d665728894b4c1397b35aa9d41c0)
`mississippi@2.0.0`
* [`2594c5867`](https://github.com/npm/npm/commit/2594c586723023edb1db172779afb2cbf8b30c08)
`npm-registry-couchapp@2.7.1`
([@iarna](https://github.com/iarna))
* [`8abb3f230`](https://github.com/npm/npm/commit/8abb3f230f119fe054353e70cb26248fc05db0b9)
`osenv@0.1.5`
([@isaacs](https://github.com/isaacs))
* [`11a0b00bd`](https://github.com/npm/npm/commit/11a0b00bd3c18625075dcdf4a5cb6500b33c6265)
`pacote@7.3.3`
([@zkat](https://github.com/zkat))
* [`9b6bdb2c7`](https://github.com/npm/npm/commit/9b6bdb2c77e49f6d473e70de4cd83c58d7147965)
`query-string@5.1.0`
([@sindresorhus](https://github.com/sindresorhus))
* [`d6d17d6b5`](https://github.com/npm/npm/commit/d6d17d6b532cf4c3461b1cf2e0404f7c62c47ec4)
`readable-stream@2.3.4`
([@mcollina](https://github.com/mcollina))
* [`51370aad5`](https://github.com/npm/npm/commit/51370aad561b368ccc95c1c935c67c8cd2844d40)
`semver@5.5.0`
([@isaacs](https://github.com/isaacs))
* [`0db14bac7`](https://github.com/npm/npm/commit/0db14bac762dd59c3fe17c20ee96d2426257cdd5)
[`81da938ab`](https://github.com/npm/npm/commit/81da938ab6efb881123cdcb44f7f84551924c988)
[`9999e83f8`](https://github.com/npm/npm/commit/9999e83f87c957113a12a6bf014a2099d720d716)
`ssri@5.2.4`
([@zkat](https://github.com/zkat))
* [`f526992ab`](https://github.com/npm/npm/commit/f526992ab6f7322a0b3a8d460dc48a2aa4a59a33)
`tap@11.1.1`
([@isaacs](https://github.com/isaacs))
* [`be096b409`](https://github.com/npm/npm/commit/be096b4090e2a33ae057912d28fadc5a53bd3391)
[`dc3059522`](https://github.com/npm/npm/commit/dc3059522758470adc225f0651be72c274bd29ef)
`tar@4.3.3`
* [`6b552daac`](https://github.com/npm/npm/commit/6b552daac952f413ed0e2df762024ad219a8dc0a)
`uuid@3.2.1`
([@broofa](https://github.com/broofa))
* [`8c9011b72`](https://github.com/npm/npm/commit/8c9011b724ad96060e7e82d9470e9cc3bb64e9c6)
`worker-farm@1.5.2`
([@rvagg](https://github.com/rvagg))
## v5.6.0 (2017-11-27):
### Features!
@ -475,6 +29,11 @@ You may have noticed this is a semver-minor bump. Wondering why? This is why!
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
@ -680,7 +239,7 @@ A very quick, record time, patch release, of a bug fix to a (sigh) last minute b
* [`e628e058b`](https://github.com/npm/npm/commit/e628e058b)
Fix login to properly recognize OTP request and store bearer tokens.
([@iarna](https://github.com/iarna))
([@Rebecca Turner](https://github.com/Rebecca Turner))
## v5.5.0 (2017-10-04):

2
deps/npm/Makefile vendored
View File

@ -65,7 +65,7 @@ dev: install
link: uninstall
node bin/npm-cli.js link -f
clean: markedclean marked-manclean doc-clean
clean: markedclean marked-manclean doc-clean uninstall
rm -rf npmrc
node bin/npm-cli.js cache clean

5
deps/npm/bin/npx vendored
View File

@ -12,19 +12,18 @@ if ! [ -x "$NODE_EXE" ]; then
NODE_EXE=node
fi
NPM_CLI_JS="$basedir/node_modules/npm/bin/npm-cli.js"
NPX_CLI_JS="$basedir/node_modules/npm/bin/npx-cli.js"
case `uname` in
*MINGW*)
NPM_PREFIX=`"$NODE_EXE" "$NPM_CLI_JS" prefix -g`
NPM_PREFIX=`"$NODE_EXE" "$NPX_CLI_JS" prefix -g`
NPM_PREFIX_NPX_CLI_JS="$NPM_PREFIX/node_modules/npm/bin/npx-cli.js"
if [ -f "$NPM_PREFIX_NPX_CLI_JS" ]; then
NPX_CLI_JS="$NPM_PREFIX_NPX_CLI_JS"
fi
;;
*CYGWIN*)
NPM_PREFIX=`"$NODE_EXE" "$NPM_CLI_JS" prefix -g`
NPM_PREFIX=`"$NODE_EXE" "$NPX_CLI_JS" prefix -g`
NPM_PREFIX_NPX_CLI_JS="$NPM_PREFIX/node_modules/npm/bin/npx-cli.js"
if [ -f "$NPM_PREFIX_NPX_CLI_JS" ]; then
NPX_CLI_JS="$NPM_PREFIX_NPX_CLI_JS"

View File

@ -8,9 +8,8 @@ IF NOT EXIST "%NODE_EXE%" (
SET "NODE_EXE=node"
)
SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js"
SET "NPX_CLI_JS=%~dp0\node_modules\npm\bin\npx-cli.js"
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g') DO (
FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPX_CLI_JS%" prefix -g') DO (
SET "NPM_PREFIX_NPX_CLI_JS=%%F\node_modules\npm\bin\npx-cli.js"
)
IF EXIST "%NPM_PREFIX_NPX_CLI_JS%" (

View File

@ -1,58 +0,0 @@
npm-ci(1) -- Install a project with a clean slate
===================================
## SYNOPSIS
npm ci
## EXAMPLE
Make sure you have a package-lock and an up-to-date install:
```
$ cd ./my/npm/project
$ npm install
added 154 packages in 10s
$ ls | grep package-lock
```
Run `npm ci` in that project
```
$ npm ci
added 154 packages in 5s
```
Configure Travis to build using `npm ci` instead of `npm install`:
```
# .travis.yml
install:
- npm ci
# keep the npm cache around to speed up installs
cache:
directories:
- "$HOME/.npm"
```
## DESCRIPTION
This command is similar to `npm-install(1)`, except it's meant to be used in
automated environments such as test platforms, continuous integration, and
deployment. It can be significantly faster than a regular npm install by
skipping certain user-oriented features. It is also more strict than a regular
install, which can help catch errors or inconsistencies caused by the
incrementally-installed local environments of most npm users.
In short, the main differences between using `npm install` and `npm ci` are:
* The project **must** have an existing `package-lock.json` or `npm-shrinkwrap.json`.
* If dependencies in the package lock do not match those in `package.json`, `npm ci` will exit with an error, instead of updating the package lock.
* `npm ci` can only install entire projects at a time: individual dependencies cannot be added with this command.
* If a `node_modules` is already present, it will be automatically removed before `npm ci` begins its install.
* It will never write to `package.json` or any of the package-locks: installs are essentially frozen.
## SEE ALSO
* npm-install(1)
* npm-package-locks(5)

View File

@ -55,9 +55,6 @@ after packing it up into a tarball (b).
is set to `production`), npm will not install modules listed in
`devDependencies`.
> NOTE: The `--production` flag has no particular meaning when adding a
dependency to a project.
* `npm install <folder>`:
Install the package in the directory as a symlink in the current project.
@ -350,8 +347,7 @@ The `--no-shrinkwrap` argument, which will ignore an available
package lock or shrinkwrap file and use the package.json instead.
The `--no-package-lock` argument will prevent npm from creating a
`package-lock.json` file. When running with package-lock's disabled npm
will not automatically prune your node modules when installing.
`package-lock.json` file.
The `--nodedir=/path/to/node/source` argument will allow npm to find the
node source code so that npm can compile native modules.

View File

@ -76,7 +76,7 @@ Max display depth of the dependency tree.
Display only the dependency tree for packages in `dependencies`.
### dev / development
### dev
* Type: Boolean
* Default: false

View File

@ -3,7 +3,7 @@ npm-prune(1) -- Remove extraneous packages
## SYNOPSIS
npm prune [[<@scope>/]<pkg>...] [--production] [--dry-run] [--json]
npm prune [[<@scope>/]<pkg>...] [--production]
## DESCRIPTION
@ -16,21 +16,9 @@ package's dependencies list.
If the `--production` flag is specified or the `NODE_ENV` environment
variable is set to `production`, this command will remove the packages
specified in your `devDependencies`. Setting `--no-production` will
specified in your `devDependencies`. Setting `--production=false` will
negate `NODE_ENV` being set to `production`.
If the `--dry-run` flag is used then no changes will actually be made.
If the `--json` flag is used then the changes `npm prune` made (or would
have made with `--dry-run`) are printed as a JSON object.
In normal operation with package-locks enabled, extraneous modules are
pruned automatically when modules are installed and you'll only need
this command with the `--production` flag.
If you've disabled package-locks then extraneous modules will not be removed
and it's up to you to run `npm prune` from time-to-time to remove them.
## SEE ALSO
* npm-uninstall(1)

View File

@ -34,9 +34,6 @@ when operating on them, separated by a colon (`:`). That is, if you have a
under that organization. If performed on a team, it will instead return a list
of all users belonging to that particular team.
* edit:
Edit a current team.
## DETAILS
`npm team` always operates directly on the current registry, configurable from

View File

@ -26,10 +26,6 @@ As of `npm@2.6.1`, the `npm update` will only inspect top-level packages.
Prior versions of `npm` would also recursively inspect all dependencies.
To get the old behavior, use `npm --depth 9999 update`.
As of `npm@5.0.0`, the `npm update` will change `package.json` to save the
new version as the minimum required dependency. To get the old behavior,
use `npm update --no-save`.
## EXAMPLES
IMPORTANT VERSION NOTE: these examples assume `npm@2.6.1` or later. For
@ -108,6 +104,30 @@ If the dependence were on `^0.4.0`:
Then `npm update` will install `dep1@0.4.1`, because that is the highest-sorting
version that satisfies `^0.4.0` (`>= 0.4.0 <0.5.0`)
### Recording Updates with `--save`
When you want to update a package and save the new version as
the minimum required dependency in `package.json`, you can use
`npm update -S` or `npm update --save`. For example if
`package.json` contains:
```
"dependencies": {
"dep1": "^1.1.1"
}
```
Then `npm update --save` will install `dep1@1.2.2` (i.e., `latest`),
and `package.json` will be modified:
```
"dependencies": {
"dep1": "^1.2.2"
}
```
Note that `npm` will only write an updated version to `package.json`
if it installs a new package.
### Updating Globally-Installed Packages

View File

@ -93,7 +93,7 @@ npm is extremely configurable. It reads its configuration options from
* Command line switches:
Set a config with `--key val`. All keys take a value, even if they
are booleans (the config parser doesn't know what the options are at
the time of parsing). If no value is provided, then the option is set
the time of parsing.) If no value is provided, then the option is set
to boolean `true`.
* Environment Variables:
Set any config by prefixing the name in an environment variable with

View File

@ -68,7 +68,7 @@ Man pages are not installed on Windows systems.
### Cache
See `npm-cache(1)`. Cache files are stored in `~/.npm` on Posix, or
`%AppData%/npm-cache` on Windows.
`~/npm-cache` on Windows.
This is controlled by the `cache` configuration param.

View File

@ -136,25 +136,6 @@ on. Additionally, the diffs from these changes are human-readable and will
inform you of any changes npm has made to your `node_modules`, so you can notice
if any transitive dependencies were updated, hoisted, etc.
### Resolving lockfile conflicts
Occasionally, two separate npm install will create package locks that cause
merge conflicts in source control systems. As of `npm@5.7.0`, these conflicts
can be resolved by manually fixing any `package.json` conflicts, and then
running `npm install [--package-lock-only]` again. npm will automatically
resolve any conflicts for you and write a merged package lock that includes all
the dependencies from both branches in a reasonable tree. If
`--package-lock-only` is provided, it will do this without also modifying your
local `node_modules/`.
To make this process seamless on git, consider installing
[`npm-merge-driver`](https://npm.im/npm-merge-driver), which will teach git how
to do this itself without any user interaction. In short: `$ npx
npm-merge-driver install -g` will let you do this, and even works with
pre-`npm@5.7.0` versions of npm 5, albeit a bit more noisily. Note that if
`package.json` itself conflicts, you will have to resolve that by hand and run
`npm install` manually, even with the merge driver.
## SEE ALSO
* https://medium.com/@sdboyer/so-you-want-to-write-a-package-manager-4ae9c17d9527

View File

@ -120,15 +120,6 @@ transitive dependency of a non-optional dependency of the top level.
All optional dependencies should be included even if they're uninstallable
on the current platform.
#### requires
This is a mapping of module name to version. This is a list of everything
this module requires, regardless of where it will be installed. The version
should match via normal matching rules a dependency either in our
`dependencies` or in a level higher than us.
#### dependencies
The dependencies of this dependency, exactly as at the top level.
@ -137,6 +128,5 @@ The dependencies of this dependency, exactly as at the top level.
* npm-shrinkwrap(1)
* npm-shrinkwrap.json(5)
* npm-package-locks(5)
* package.json(5)
* npm-install(1)

View File

@ -11,11 +11,11 @@ settings described in `npm-config(7)`.
## name
If you plan to publish your package, the *most* important things in your
package.json are the name and version fields as they will be required. The name
and version together form an identifier that is assumed to be completely unique.
Changes to the package should come along with changes to the version. If you don't
plan to publish your package, the name and version fields are optional.
The *most* important things in your package.json are the name and version fields.
Those are actually required, and your package won't install without
them. The name and version together form an identifier that is assumed
to be completely unique. Changes to the package should come along with
changes to the version.
The name is what your thing is called.
@ -44,11 +44,11 @@ A name can be optionally prefixed by a scope, e.g. `@myorg/mypackage`. See
## version
If you plan to publish your package, the *most* important things in your
package.json are the name and version fields as they will be required. The name
and version together form an identifier that is assumed to be completely unique.
Changes to the package should come along with changes to the version. If you don't
plan to publish your package, the name and version fields are optional.
The *most* important things in your package.json are the name and version fields.
Those are actually required, and your package won't install without
them. The name and version together form an identifier that is assumed
to be completely unique. Changes to the package should come along with
changes to the version.
Version must be parseable by
[node-semver](https://github.com/isaacs/node-semver), which is bundled
@ -70,10 +70,6 @@ discover your package as it's listed in `npm search`.
The url to the project homepage.
Example:
"homepage": "https://github.com/owner/project#readme"
## bugs
The url to your project's issue tracker and / or the email address to which
@ -172,15 +168,13 @@ npm also sets a top-level "maintainers" field with your npm user info.
## files
The optional `files` field is an array of file patterns that describes
The optional "files" field is an array of file patterns that describes
the entries to be included when your package is installed as a
dependency. File patterns follow a similar syntax to `.gitignore`, but
reversed: including a file, directory, or glob pattern (`*`, `**/*`, and such)
will make it so that file is included in the tarball when it's packed. Omitting
the field will make it default to `["*"]`, which means it will include all files.
Some special files and directories are also included or excluded regardless of
whether they exist in the `files` array (see below).
dependency. If the files array is omitted, everything except
automatically-excluded files will be included in your publish. If you
name a folder in the array, then it will also include the files inside
that folder (unless they would be ignored by another rule in this
section.).
You can also provide a `.npmignore` file in the root of your package or
in subdirectories, which will keep files from being included. At the
@ -232,12 +226,6 @@ This should be a module ID relative to the root of your package folder.
For most modules, it makes the most sense to have a main script and often not
much else.
## browser
If your module is meant to be used client-side the browser field should be
used instead of the main field. This is helpful to hint users that it might
rely on primitives that aren't available in Node.js modules. (e.g. `window`)
## bin
A lot of packages have one or more executable files that they'd like to

View File

@ -115,7 +115,7 @@ Good:
## Whitespace
Put a single space in front of `(` for anything other than a function call.
Put a single space in front of ( for anything other than a function call.
Also use a single space wherever it makes things more readable.
Don't leave trailing whitespace at the end of lines. Don't indent empty

View File

@ -284,9 +284,6 @@ This is a list of CIDR address to be used when configuring limited access tokens
If false, never shows colors. If `"always"` then always shows colors.
If true, then only prints color codes for tty file descriptors.
This option can also be changed using the environment: colors are
disabled when the environment variable `NO_COLOR` is set to any value.
### depth
* Default: Infinity
@ -675,13 +672,6 @@ impact how lifecycle scripts are called.
The node version to use when checking a package's `engines` map.
### no-proxy
* Default: null
* Type: String or Array
A comma-separated string or an array of domain extensions that a proxy should not be used for.
### offline
* Default: false
@ -741,10 +731,6 @@ when publishing or changing package permissions with `npm access`.
If set to false, then ignore `package-lock.json` files when installing. This
will also prevent _writing_ `package-lock.json` if `save` is true.
When package package-locks are disabled, automatic pruning of extraneous
modules will also be disabled. To remove extraneous modules with
package-locks disabled use `npm prune`.
This option is an alias for `--shrinkwrap`.
### package-lock-only
@ -752,7 +738,7 @@ This option is an alias for `--shrinkwrap`.
* Default: false
* Type: Boolean
If set to true, it will update only the `package-lock.json`,
If set to true, it will update only the `package-json`,
instead of checking `node_modules` and downloading dependencies.
### parseable
@ -849,7 +835,7 @@ Remove failed installs.
### save
* Default: true
* Default: false
* Type: Boolean
Save installed packages to a package.json file as dependencies.

View File

@ -57,7 +57,7 @@ least, you need:
use the name to specify that it runs on node, or is in JavaScript.
You can use the "engines" field to explicitly state the versions of
node (or whatever else) that your program requires, and it's pretty
well assumed that it's JavaScript.
well assumed that it's javascript.
It does not necessarily need to match your github repository name.

View File

@ -41,10 +41,6 @@ REMOVED
Manipulates packages cache
### npm-ci(1)
Install a project with a clean slate
### npm-completion(1)
Tab Completion for npm

View File

@ -20,8 +20,6 @@ semver.clean(' =v1.2.3 ') // '1.2.3'
semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true
semver.gt('1.2.3', '9.8.7') // false
semver.lt('1.2.3', '9.8.7') // true
semver.valid(semver.coerce('v2')) // '2.0.0'
semver.valid(semver.coerce('42.6.7.9.3-alpha')) // '42.6.7'
```
As a command-line utility:
@ -54,10 +52,6 @@ Options:
-l --loose
Interpret versions and ranges loosely
-c --coerce
Coerce a string into SemVer if possible
(does not imply --loose)
Program exits successfully if any valid version satisfies
all supplied ranges, and prints all satisfying versions.
@ -370,19 +364,3 @@ satisfy the range.
If you want to know if a version satisfies or does not satisfy a
range, use the `satisfies(version, range)` function.
### Coercion
* `coerce(version)`: Coerces a string to semver if possible
This aims to provide a very forgiving translation of a non-semver
string to semver. It looks for the first digit in a string, and
consumes all remaining characters which satisfy at least a partial semver
(e.g., `1`, `1.2`, `1.2.3`) up to the max permitted length (256 characters).
Longer versions are simply truncated (`4.6.3.9.2-alpha2` becomes `4.6.3`).
All surrounding text is simply ignored (`v3.4 replaces v3.3.1` becomes `3.4.0`).
Only text which lacks digits will fail coercion (`version one` is not valid).
The maximum length for any semver component considered for coercion is 16 characters;
longer components will be ignored (`10000000000000000.4.7.4` becomes `4.7.4`).
The maximum value for any semver component is `Integer.MAX_SAFE_INTEGER || (2**53 - 1)`;
higher value components are invalid (`9999999999999999.4.7.4` is likely invalid).

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

View File

@ -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.8.0</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.8.0</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.8.0</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.8.0</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.8.0</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.8.0</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.8.0</p>
<p id="footer">npm-cache &mdash; npm@5.6.0</p>

View File

@ -1,64 +0,0 @@
<!doctype html>
<html>
<title>npm-ci</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
<link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-ci.html">
<script async=true src="../../static/toc.js"></script>
<body>
<div id="wrapper">
<h1><a href="../cli/npm-ci.html">npm-ci</a></h1> <p>Install a project with a clean slate</p>
<h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm ci
</code></pre><h2 id="example">EXAMPLE</h2>
<p>Make sure you have a package-lock and an up-to-date install:</p>
<pre><code>$ cd ./my/npm/project
$ npm install
added 154 packages in 10s
$ ls | grep package-lock
</code></pre><p>Run <code>npm ci</code> in that project</p>
<pre><code>$ npm ci
added 154 packages in 5s
</code></pre><p>Configure Travis to build using <code>npm ci</code> instead of <code>npm install</code>:</p>
<pre><code># .travis.yml
install:
- npm ci
# keep the npm cache around to speed up installs
cache:
directories:
- &quot;$HOME/.npm&quot;
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>This command is similar to <code><a href="../cli/npm-install.html">npm-install(1)</a></code>, except it&#39;s meant to be used in
automated environments such as test platforms, continuous integration, and
deployment. It can be significantly faster than a regular npm install by
skipping certain user-oriented features. It is also more strict than a regular
install, which can help catch errors or inconsistencies caused by the
incrementally-installed local environments of most npm users.</p>
<p>In short, the main differences between using <code>npm install</code> and <code>npm ci</code> are:</p>
<ul>
<li>The project <strong>must</strong> have an existing <code>package-lock.json</code> or <code>npm-shrinkwrap.json</code>.</li>
<li>If dependencies in the package lock do not match those in <code>package.json</code>, <code>npm ci</code> will exit with an error, instead of updating the package lock.</li>
<li><code>npm ci</code> can only install entire projects at a time: individual dependencies cannot be added with this command.</li>
<li>If a <code>node_modules</code> is already present, it will be automatically removed before <code>npm ci</code> begins its install.</li>
<li>It will never write to <code>package.json</code> or any of the package-locks: installs are essentially frozen.</li>
</ul>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../cli/npm-install.html">npm-install(1)</a></li>
<li><a href="../files/npm-package-locks.html">npm-package-locks(5)</a></li>
</ul>
</div>
<table border=0 cellspacing=0 cellpadding=0 id=npmlogo>
<tr><td style="width:180px;height:10px;background:rgb(237,127,127)" colspan=18>&nbsp;</td></tr>
<tr><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td><td style="width:40px;height:10px;background:#fff" colspan=4>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4>&nbsp;</td><td style="width:40px;height:10px;background:#fff" colspan=4>&nbsp;</td><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td><td colspan=6 style="width:60px;height:10px;background:#fff">&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4>&nbsp;</td></tr>
<tr><td colspan=2 style="width:20px;height:30px;background:#fff" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:20px;height:10px;background:#fff" rowspan=4 colspan=2>&nbsp;</td><td style="width:10px;height:20px;background:rgb(237,127,127)" rowspan=2>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:20px;height:10px;background:#fff" rowspan=3 colspan=2>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td></tr>
<tr><td style="width:10px;height:10px;background:#fff" rowspan=2>&nbsp;</td></tr>
<tr><td style="width:10px;height:10px;background:#fff">&nbsp;</td></tr>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-ci &mdash; npm@5.8.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.8.0</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.8.0</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.8.0</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.8.0</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.8.0</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.8.0</p>
<p id="footer">npm-docs &mdash; npm@5.6.0</p>

View File

@ -32,7 +32,7 @@ old versions of npm. Since npm is constantly improving, running <code>npm@latest
better than an old version.</p>
<p><code>npm doctor</code> verifies the following items in your environment, and if there are
any recommended changes, it will display them.</p>
<h3 id="npm-ping"><code>npm ping</code></h3>
<h3 id="-npm-ping-"><code>npm ping</code></h3>
<p>By default, npm installs from the primary npm registry, <code>registry.npmjs.org</code>.
<code>npm doctor</code> hits a special ping endpoint within the registry. This can also be
checked with <code>npm ping</code>. If this check fails, you may be using a proxy that
@ -42,7 +42,7 @@ HTTPS to <code>registry.npmjs.org</code>.</p>
what that is by running <code>npm config get registry</code>), and if you&#39;re using a
private registry that doesn&#39;t support the <code>/whoami</code> endpoint supported by the
primary registry, this check may fail.</p>
<h3 id="npm-v"><code>npm -v</code></h3>
<h3 id="-npm-v-"><code>npm -v</code></h3>
<p>While Node.js may come bundled with a particular version of npm, it&#39;s the
policy of the CLI team that we recommend all users run <code>npm@latest</code> if they
can. As the CLI is maintained by a small team of contributors, there are only
@ -50,21 +50,21 @@ resources for a single line of development, so npm&#39;s own long-term support
releases typically only receive critical security and regression fixes. The
team believes that the latest tested version of npm is almost always likely to
be the most functional and defect-free version of npm.</p>
<h3 id="node-v"><code>node -v</code></h3>
<h3 id="-node-v-"><code>node -v</code></h3>
<p>For most users, in most circumstances, the best version of Node will be the
latest long-term support (LTS) release. Those of you who want access to new
ECMAscript features or bleeding-edge changes to Node&#39;s standard library may be
running a newer version, and some of you may be required to run an older
version of Node because of enterprise change control policies. That&#39;s OK! But
in general, the npm team recommends that most users run Node.js LTS.</p>
<h3 id="npm-config-get-registry"><code>npm config get registry</code></h3>
<h3 id="-npm-config-get-registry-"><code>npm config get registry</code></h3>
<p>Some of you may be installing from private package registries for your project
or company. That&#39;s great! Others of you may be following tutorials or
StackOverflow questions in an effort to troubleshoot problems you may be
having. Sometimes, this may entail changing the registry you&#39;re pointing at.
This part of <code>npm doctor</code> just lets you, and maybe whoever&#39;s helping you with
support, know that you&#39;re not using the default registry.</p>
<h3 id="which-git"><code>which git</code></h3>
<h3 id="-which-git-"><code>which git</code></h3>
<p>While it&#39;s documented in the <a href="../../doc/README.html">README</a>, it may not be obvious that npm needs Git
installed to do many of the things that it does. Also, in some cases
especially on Windows you may have Git set up in such a way that it&#39;s not
@ -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.8.0</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.8.0</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.8.0</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.8.0</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.8.0</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.8.0</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.8.0</p>
<p id="footer">npm-install-test &mdash; npm@5.6.0</p>

View File

@ -54,10 +54,6 @@ after packing it up into a tarball (b).</p>
<p> With the <code>--production</code> flag (or when the <code>NODE_ENV</code> environment variable
is set to <code>production</code>), npm will not install modules listed in
<code>devDependencies</code>.</p>
<blockquote>
<p>NOTE: The <code>--production</code> flag has no particular meaning when adding a
dependency to a project.</p>
</blockquote>
</li>
<li><p><code>npm install &lt;folder&gt;</code>:</p>
<p> Install the package in the directory as a symlink in the current project.
@ -285,8 +281,7 @@ being installed.</p>
<p>The <code>--no-shrinkwrap</code> argument, which will ignore an available
package lock or shrinkwrap file and use the package.json instead.</p>
<p>The <code>--no-package-lock</code> argument will prevent npm from creating a
<code>package-lock.json</code> file. When running with package-lock&#39;s disabled npm
will not automatically prune your node modules when installing.</p>
<code>package-lock.json</code> file.</p>
<p>The <code>--nodedir=/path/to/node/source</code> argument will allow npm to find the
node source code so that npm can compile native modules.</p>
<p>The <code>--only={prod[uction]|dev[elopment]}</code> argument will cause either only
@ -374,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.8.0</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.8.0</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.8.0</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.8.0 /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>
@ -68,7 +68,7 @@ project.</p>
<li>Default: false</li>
</ul>
<p>Display only the dependency tree for packages in <code>dependencies</code>.</p>
<h3 id="dev-development">dev / development</h3>
<h3 id="dev">dev</h3>
<ul>
<li>Type: Boolean</li>
<li>Default: false</li>
@ -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.8.0</p>
<p id="footer">npm-ls &mdash; npm@5.6.0</p>

View File

@ -58,9 +58,10 @@ The installed committish might satisfy the dependency specifier (if it&#39;s
something immutable, like a commit SHA), or it might not, so <code>npm outdated</code> and
<code>npm update</code> have to fetch Git repos to check. This is why currently doing a
reinstall of a Git dependency always forces a new clone and install.</li>
<li><a href="mailto:`npm@3.5.2">`npm@3.5.2</a><code>is marked as &quot;wanted&quot;, but &quot;latest&quot; is</code><a href="mailto:npm@3.5.1">npm@3.5.1</a><code>because npm
uses dist-tags to manage its</code>latest<code>and</code>next<code>release channels.</code>npm update<code>will install the _newest_ version, but</code>npm install npm<code>(with no semver range)
will install whatever&#39;s tagged as</code>latest`.</li>
<li><code>npm@3.5.2</code> is marked as &quot;wanted&quot;, but &quot;latest&quot; is <code>npm@3.5.1</code> because npm
uses dist-tags to manage its <code>latest</code> and <code>next</code> release channels. <code>npm update</code>
will install the <em>newest</em> version, but <code>npm install npm</code> (with no semver range)
will install whatever&#39;s tagged as <code>latest</code>.</li>
<li><code>once</code> is just plain out of date. Reinstalling <code>node_modules</code> from scratch or
running <code>npm update</code> will bring it up to spec.</li>
</ul>
@ -115,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.8.0</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.8.0</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.8.0</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.8.0</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.8.0</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.8.0</p>
<p id="footer">npm-profile &mdash; npm@5.6.0</p>

View File

@ -11,7 +11,7 @@
<h1><a href="../cli/npm-prune.html">npm-prune</a></h1> <p>Remove extraneous packages</p>
<h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm prune [[&lt;@scope&gt;/]&lt;pkg&gt;...] [--production] [--dry-run] [--json]
<pre><code>npm prune [[&lt;@scope&gt;/]&lt;pkg&gt;...] [--production]
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>This command removes &quot;extraneous&quot; packages. If a package name is
provided, then only packages matching one of the supplied names are
@ -20,16 +20,8 @@ removed.</p>
package&#39;s dependencies list.</p>
<p>If the <code>--production</code> flag is specified or the <code>NODE_ENV</code> environment
variable is set to <code>production</code>, this command will remove the packages
specified in your <code>devDependencies</code>. Setting <code>--no-production</code> will
specified in your <code>devDependencies</code>. Setting <code>--production=false</code> will
negate <code>NODE_ENV</code> being set to <code>production</code>.</p>
<p>If the <code>--dry-run</code> flag is used then no changes will actually be made.</p>
<p>If the <code>--json</code> flag is used then the changes <code>npm prune</code> made (or would
have made with <code>--dry-run</code>) are printed as a JSON object.</p>
<p>In normal operation with package-locks enabled, extraneous modules are
pruned automatically when modules are installed and you&#39;ll only need
this command with the <code>--production</code> flag.</p>
<p>If you&#39;ve disabled package-locks then extraneous modules will not be removed
and it&#39;s up to you to run <code>npm prune</code> from time-to-time to remove them.</p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../cli/npm-uninstall.html">npm-uninstall(1)</a></li>
@ -48,5 +40,5 @@ and it&#39;s up to you to run <code>npm prune</code> from time-to-time to remove
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-prune &mdash; npm@5.8.0</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.8.0</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.8.0</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.8.0</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.8.0</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.8.0</p>
<p id="footer">npm-root &mdash; npm@5.6.0</p>

View File

@ -80,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.8.0</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.8.0</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.8.0</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.8.0</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.8.0</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.8.0</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.8.0</p>
<p id="footer">npm-stop &mdash; npm@5.6.0</p>

View File

@ -39,9 +39,6 @@ If performed on an organization name, will return a list of existing teams
under that organization. If performed on a team, it will instead return a list
of all users belonging to that particular team.</p>
</li>
<li><p>edit:
Edit a current team.</p>
</li>
</ul>
<h2 id="details">DETAILS</h2>
<p><code>npm team</code> always operates directly on the current registry, configurable from
@ -70,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.8.0</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.8.0</p>
<p id="footer">npm-test &mdash; npm@5.6.0</p>

View File

@ -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.8.0</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.8.0</p>
<p id="footer">npm-uninstall &mdash; npm@5.6.0</p>

View File

@ -29,7 +29,7 @@ package again, a new version number must be used.</p>
<p>With the default registry (<code>registry.npmjs.org</code>), unpublish is
only allowed with versions published in the last 24 hours. If you
are trying to unpublish a version published longer ago than that,
contact <a href="mailto:support@npmjs.com">support@npmjs.com</a>.</p>
contact support@npmjs.com.</p>
<p>The scope is optional and follows the usual rules for <code><a href="../misc/npm-scope.html">npm-scope(7)</a></code>.</p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
@ -51,5 +51,5 @@ contact <a href="mailto:support@npmjs.com">support@npmjs.com</a>.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-unpublish &mdash; npm@5.8.0</p>
<p id="footer">npm-unpublish &mdash; npm@5.6.0</p>

View File

@ -24,15 +24,12 @@ as well.</p>
packages.</p>
<p>If no package name is specified, all packages in the specified location (global
or local) will be updated.</p>
<p>As of <a href="mailto:`npm@2.6.1">`npm@2.6.1</a><code>, the</code>npm update<code>will only inspect top-level packages.
Prior versions of</code>npm<code>would also recursively inspect all dependencies.
To get the old behavior, use</code>npm --depth 9999 update`.</p>
<p>As of <a href="mailto:`npm@5.0.0">`npm@5.0.0</a><code>, the</code>npm update<code>will change</code>package.json<code>to save the
new version as the minimum required dependency. To get the old behavior,
use</code>npm update --no-save`.</p>
<p>As of <code>npm@2.6.1</code>, the <code>npm update</code> will only inspect top-level packages.
Prior versions of <code>npm</code> would also recursively inspect all dependencies.
To get the old behavior, use <code>npm --depth 9999 update</code>.</p>
<h2 id="examples">EXAMPLES</h2>
<p>IMPORTANT VERSION NOTE: these examples assume <a href="mailto:`npm@2.6.1">`npm@2.6.1</a><code>or later. For
older versions of</code>npm<code>, you must specify</code>--depth 0` to get the behavior
<p>IMPORTANT VERSION NOTE: these examples assume <code>npm@2.6.1</code> or later. For
older versions of <code>npm</code>, you must specify <code>--depth 0</code> to get the behavior
described below.</p>
<p>For the examples below, assume that the current package is <code>app</code> and it depends
on dependencies, <code>dep1</code> (<code>dep2</code>, .. etc.). The published versions of <code>dep1</code> are:</p>
@ -55,28 +52,45 @@ on dependencies, <code>dep1</code> (<code>dep2</code>, .. etc.). The published
<pre><code>&quot;dependencies&quot;: {
&quot;dep1&quot;: &quot;^1.1.1&quot;
}
</code></pre><p>Then <code>npm update</code> will install <a href="mailto:`dep1@1.2.2">`dep1@1.2.2</a><code>, because</code>1.2.2<code>is</code>latest<code>and</code>1.2.2<code>satisfies</code>^1.1.1`.</p>
</code></pre><p>Then <code>npm update</code> will install <code>dep1@1.2.2</code>, because <code>1.2.2</code> is <code>latest</code> and
<code>1.2.2</code> satisfies <code>^1.1.1</code>.</p>
<h3 id="tilde-dependencies">Tilde Dependencies</h3>
<p>However, if <code>app</code>&#39;s <code>package.json</code> contains:</p>
<pre><code>&quot;dependencies&quot;: {
&quot;dep1&quot;: &quot;~1.1.1&quot;
}
</code></pre><p>In this case, running <code>npm update</code> will install <a href="mailto:`dep1@1.1.2">`dep1@1.1.2</a><code>. Even though the</code>latest<code>tag points to</code>1.2.2<code>, this version does not satisfy</code>~1.1.1<code>, which is equivalent
to</code>&gt;=1.1.1 &lt;1.2.0<code>. So the highest-sorting version that satisfies</code>~1.1.1<code>is used,
which is</code>1.1.2`.</p>
</code></pre><p>In this case, running <code>npm update</code> will install <code>dep1@1.1.2</code>. Even though the <code>latest</code>
tag points to <code>1.2.2</code>, this version does not satisfy <code>~1.1.1</code>, which is equivalent
to <code>&gt;=1.1.1 &lt;1.2.0</code>. So the highest-sorting version that satisfies <code>~1.1.1</code> is used,
which is <code>1.1.2</code>.</p>
<h3 id="caret-dependencies-below-1-0-0">Caret Dependencies below 1.0.0</h3>
<p>Suppose <code>app</code> has a caret dependency on a version below <code>1.0.0</code>, for example:</p>
<pre><code>&quot;dependencies&quot;: {
&quot;dep1&quot;: &quot;^0.2.0&quot;
}
</code></pre><p><code>npm update</code> will install <a href="mailto:`dep1@0.2.0">`dep1@0.2.0</a><code>, because there are no other
versions which satisfy</code>^0.2.0`.</p>
</code></pre><p><code>npm update</code> will install <code>dep1@0.2.0</code>, because there are no other
versions which satisfy <code>^0.2.0</code>.</p>
<p>If the dependence were on <code>^0.4.0</code>:</p>
<pre><code>&quot;dependencies&quot;: {
&quot;dep1&quot;: &quot;^0.4.0&quot;
}
</code></pre><p>Then <code>npm update</code> will install <a href="mailto:`dep1@0.4.1">`dep1@0.4.1</a><code>, because that is the highest-sorting
version that satisfies</code>^0.4.0<code>(</code>&gt;= 0.4.0 &lt;0.5.0`)</p>
</code></pre><p>Then <code>npm update</code> will install <code>dep1@0.4.1</code>, because that is the highest-sorting
version that satisfies <code>^0.4.0</code> (<code>&gt;= 0.4.0 &lt;0.5.0</code>)</p>
<h3 id="recording-updates-with-save-">Recording Updates with <code>--save</code></h3>
<p>When you want to update a package and save the new version as
the minimum required dependency in <code>package.json</code>, you can use
<code>npm update -S</code> or <code>npm update --save</code>. For example if
<code>package.json</code> contains:</p>
<pre><code>&quot;dependencies&quot;: {
&quot;dep1&quot;: &quot;^1.1.1&quot;
}
</code></pre><p>Then <code>npm update --save</code> will install <code>dep1@1.2.2</code> (i.e., <code>latest</code>),
and <code>package.json</code> will be modified:</p>
<pre><code>&quot;dependencies&quot;: {
&quot;dep1&quot;: &quot;^1.2.2&quot;
}
</code></pre><p>Note that <code>npm</code> will only write an updated version to <code>package.json</code>
if it installs a new package.</p>
<h3 id="updating-globally-installed-packages">Updating Globally-Installed Packages</h3>
<p><code>npm update -g</code> will apply the <code>update</code> action to each globally installed
package that is <code>outdated</code> -- that is, has a version that is different from
@ -104,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.8.0</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.8.0</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.8.0</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.8.0</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.8.0</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
@ -79,7 +79,7 @@ Use the <code>npm publish</code> command to upload your code to the registry.</l
<ul>
<li>Command line switches:<br>Set a config with <code>--key val</code>. All keys take a value, even if they
are booleans (the config parser doesn&#39;t know what the options are at
the time of parsing). If no value is provided, then the option is set
the time of parsing.) If no value is provided, then the option is set
to boolean <code>true</code>.</li>
<li>Environment Variables:<br>Set any config by prefixing the name in an environment variable with
<code>npm_config_</code>. For example, <code>export npm_config_key=val</code>.</li>
@ -126,7 +126,7 @@ will no doubt tell you to put the output in a gist or email.</p>
<p><a href="http://blog.izs.me/">Isaac Z. Schlueter</a> ::
<a href="https://github.com/isaacs/">isaacs</a> ::
<a href="http://twitter.com/izs">@izs</a> ::
<a href="mailto:&#x69;&#64;&#x69;&#122;&#115;&#x2e;&#109;&#101;">&#x69;&#64;&#x69;&#122;&#115;&#x2e;&#109;&#101;</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.8.0</p>
<p id="footer">npm &mdash; npm@5.6.0</p>

View File

@ -58,7 +58,7 @@ when you run <code>npm test</code>.)</p>
<p>Man pages are not installed on Windows systems.</p>
<h3 id="cache">Cache</h3>
<p>See <code><a href="../cli/npm-cache.html">npm-cache(1)</a></code>. Cache files are stored in <code>~/.npm</code> on Posix, or
<code>%AppData%/npm-cache</code> on Windows.</p>
<code>~/npm-cache</code> on Windows.</p>
<p>This is controlled by the <code>cache</code> configuration param.</p>
<h3 id="temp-files">Temp Files</h3>
<p>Temporary files are stored by default in the folder specified by the
@ -135,15 +135,15 @@ highest level possible, below the localized &quot;target&quot; folder.</p>
`-- baz (1.2.3) &lt;---[D]
`-- node_modules
`-- quux (3.2.0) &lt;---[E]
</code></pre><p>Since foo depends directly on <a href="mailto:`bar@1.2.3">`bar@1.2.3</a><code>and</code><a href="mailto:baz@1.2.3">baz@1.2.3</a><code>, those are
installed in foo&#39;s</code>node_modules` folder.</p>
</code></pre><p>Since foo depends directly on <code>bar@1.2.3</code> and <code>baz@1.2.3</code>, those are
installed in foo&#39;s <code>node_modules</code> folder.</p>
<p>Even though the latest copy of blerg is 1.3.7, foo has a specific
dependency on version 1.2.5. So, that gets installed at [A]. Since the
parent installation of blerg satisfies bar&#39;s dependency on <a href="mailto:`blerg@1.x">`blerg@1.x</a>`,
parent installation of blerg satisfies bar&#39;s dependency on <code>blerg@1.x</code>,
it does not install another copy under [B].</p>
<p>Bar [B] also has dependencies on baz and asdf, so those are installed in
bar&#39;s <code>node_modules</code> folder. Because it depends on <a href="mailto:`baz@2.x">`baz@2.x</a><code>, it cannot
re-use the</code><a href="mailto:baz@1.2.3">baz@1.2.3</a><code>installed in the parent</code>node_modules` folder [D],
bar&#39;s <code>node_modules</code> folder. Because it depends on <code>baz@2.x</code>, it cannot
re-use the <code>baz@1.2.3</code> installed in the parent <code>node_modules</code> folder [D],
and must install its own copy [C].</p>
<p>Underneath bar, the <code>baz -&gt; quux -&gt; bar</code> dependency creates a cycle.
However, because bar is already in quux&#39;s ancestry [B], it does not
@ -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.8.0</p>
<p id="footer">npm-folders &mdash; npm@5.6.0</p>

View File

@ -58,7 +58,7 @@ when you run <code>npm test</code>.)</p>
<p>Man pages are not installed on Windows systems.</p>
<h3 id="cache">Cache</h3>
<p>See <code><a href="../cli/npm-cache.html">npm-cache(1)</a></code>. Cache files are stored in <code>~/.npm</code> on Posix, or
<code>%AppData%/npm-cache</code> on Windows.</p>
<code>~/npm-cache</code> on Windows.</p>
<p>This is controlled by the <code>cache</code> configuration param.</p>
<h3 id="temp-files">Temp Files</h3>
<p>Temporary files are stored by default in the folder specified by the
@ -135,15 +135,15 @@ highest level possible, below the localized &quot;target&quot; folder.</p>
`-- baz (1.2.3) &lt;---[D]
`-- node_modules
`-- quux (3.2.0) &lt;---[E]
</code></pre><p>Since foo depends directly on <a href="mailto:`bar@1.2.3">`bar@1.2.3</a><code>and</code><a href="mailto:baz@1.2.3">baz@1.2.3</a><code>, those are
installed in foo&#39;s</code>node_modules` folder.</p>
</code></pre><p>Since foo depends directly on <code>bar@1.2.3</code> and <code>baz@1.2.3</code>, those are
installed in foo&#39;s <code>node_modules</code> folder.</p>
<p>Even though the latest copy of blerg is 1.3.7, foo has a specific
dependency on version 1.2.5. So, that gets installed at [A]. Since the
parent installation of blerg satisfies bar&#39;s dependency on <a href="mailto:`blerg@1.x">`blerg@1.x</a>`,
parent installation of blerg satisfies bar&#39;s dependency on <code>blerg@1.x</code>,
it does not install another copy under [B].</p>
<p>Bar [B] also has dependencies on baz and asdf, so those are installed in
bar&#39;s <code>node_modules</code> folder. Because it depends on <a href="mailto:`baz@2.x">`baz@2.x</a><code>, it cannot
re-use the</code><a href="mailto:baz@1.2.3">baz@1.2.3</a><code>installed in the parent</code>node_modules` folder [D],
bar&#39;s <code>node_modules</code> folder. Because it depends on <code>baz@2.x</code>, it cannot
re-use the <code>baz@1.2.3</code> installed in the parent <code>node_modules</code> folder [D],
and must install its own copy [C].</p>
<p>Underneath bar, the <code>baz -&gt; quux -&gt; bar</code> dependency creates a cycle.
However, because bar is already in quux&#39;s ancestry [B], it does not
@ -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.8.0</p>
<p id="footer">npm-folders &mdash; npm@5.6.0</p>

View File

@ -16,11 +16,11 @@ file. It must be actual JSON, not just a JavaScript object literal.</p>
<p>A lot of the behavior described in this document is affected by the config
settings described in <code><a href="../misc/npm-config.html">npm-config(7)</a></code>.</p>
<h2 id="name">name</h2>
<p>If you plan to publish your package, the <em>most</em> important things in your
package.json are the name and version fields as they will be required. The name
and version together form an identifier that is assumed to be completely unique.
Changes to the package should come along with changes to the version. If you don&#39;t
plan to publish your package, the name and version fields are optional.</p>
<p>The <em>most</em> important things in your package.json are the name and version fields.
Those are actually required, and your package won&#39;t install without
them. The name and version together form an identifier that is assumed
to be completely unique. Changes to the package should come along with
changes to the version.</p>
<p>The name is what your thing is called.</p>
<p>Some rules:</p>
<ul>
@ -45,11 +45,11 @@ already, before you get too attached to it. <a href="https://www.npmjs.com/">htt
<p>A name can be optionally prefixed by a scope, e.g. <code>@myorg/mypackage</code>. See
<code><a href="../misc/npm-scope.html">npm-scope(7)</a></code> for more detail.</p>
<h2 id="version">version</h2>
<p>If you plan to publish your package, the <em>most</em> important things in your
package.json are the name and version fields as they will be required. The name
and version together form an identifier that is assumed to be completely unique.
Changes to the package should come along with changes to the version. If you don&#39;t
plan to publish your package, the name and version fields are optional.</p>
<p>The <em>most</em> important things in your package.json are the name and version fields.
Those are actually required, and your package won&#39;t install without
them. The name and version together form an identifier that is assumed
to be completely unique. Changes to the package should come along with
changes to the version.</p>
<p>Version must be parseable by
<a href="https://github.com/isaacs/node-semver">node-semver</a>, which is bundled
with npm as a dependency. (<code>npm install semver</code> to use it yourself.)</p>
@ -62,9 +62,7 @@ package, as it&#39;s listed in <code>npm search</code>.</p>
discover your package as it&#39;s listed in <code>npm search</code>.</p>
<h2 id="homepage">homepage</h2>
<p>The url to the project homepage.</p>
<p>Example:</p>
<pre><code>&quot;homepage&quot;: &quot;https://github.com/owner/project#readme&quot;
</code></pre><h2 id="bugs">bugs</h2>
<h2 id="bugs">bugs</h2>
<p>The url to your project&#39;s issue tracker and / or the email address to which
issues should be reported. These are helpful for people who encounter issues
with your package.</p>
@ -131,14 +129,13 @@ is an object with a &quot;name&quot; field and optionally &quot;url&quot; and &q
</code></pre><p>Both email and url are optional either way.</p>
<p>npm also sets a top-level &quot;maintainers&quot; field with your npm user info.</p>
<h2 id="files">files</h2>
<p>The optional <code>files</code> field is an array of file patterns that describes
<p>The optional &quot;files&quot; field is an array of file patterns that describes
the entries to be included when your package is installed as a
dependency. File patterns follow a similar syntax to <code>.gitignore</code>, but
reversed: including a file, directory, or glob pattern (<code>*</code>, <code>**/*</code>, and such)
will make it so that file is included in the tarball when it&#39;s packed. Omitting
the field will make it default to <code>[&quot;*&quot;]</code>, which means it will include all files.</p>
<p>Some special files and directories are also included or excluded regardless of
whether they exist in the <code>files</code> array (see below).</p>
dependency. If the files array is omitted, everything except
automatically-excluded files will be included in your publish. If you
name a folder in the array, then it will also include the files inside
that folder (unless they would be ignored by another rule in this
section.).</p>
<p>You can also provide a <code>.npmignore</code> file in the root of your package or
in subdirectories, which will keep files from being included. At the
root of your package it will not override the &quot;files&quot; field, but in
@ -182,10 +179,6 @@ That is, if your package is named <code>foo</code>, and a user installs it, and
<p>This should be a module ID relative to the root of your package folder.</p>
<p>For most modules, it makes the most sense to have a main script and often not
much else.</p>
<h2 id="browser">browser</h2>
<p>If your module is meant to be used client-side the browser field should be
used instead of the main field. This is helpful to hint users that it might
rely on primitives that aren&#39;t available in Node.js modules. (e.g. <code>window</code>)</p>
<h2 id="bin">bin</h2>
<p>A lot of packages have one or more executable files that they&#39;d like to
install into the PATH. npm makes this pretty easy (in fact, it uses this
@ -610,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.8.0</p>
<p id="footer">package.json &mdash; npm@5.6.0</p>

View File

@ -53,7 +53,7 @@ registry, then a normal <code>npm install A</code> will install:</p>
<pre><code>A@0.1.0
`-- B@0.0.1
`-- C@0.0.1
</code></pre><p>However, if <a href="mailto:B@0.0.2">B@0.0.2</a> is published, then a fresh <code>npm install A</code> will
</code></pre><p>However, if B@0.0.2 is published, then a fresh <code>npm install A</code> will
install:</p>
<pre><code>A@0.1.0
`-- B@0.0.2
@ -61,7 +61,7 @@ install:</p>
</code></pre><p>assuming the new version did not modify B&#39;s dependencies. Of course,
the new version of B could include a new version of C and any number
of new dependencies. If such changes are undesirable, the author of A
could specify a dependency on <a href="mailto:B@0.0.1">B@0.0.1</a>. However, if A&#39;s author and B&#39;s
could specify a dependency on B@0.0.1. However, if A&#39;s author and B&#39;s
author are not the same person, there&#39;s no way for A&#39;s author to say
that he or she does not want to pull in newly published versions of C
when B hasn&#39;t changed at all.</p>
@ -125,19 +125,6 @@ package source to get the exact same dependency tree that you were developing
on. Additionally, the diffs from these changes are human-readable and will
inform you of any changes npm has made to your <code>node_modules</code>, so you can notice
if any transitive dependencies were updated, hoisted, etc.</p>
<h3 id="resolving-lockfile-conflicts">Resolving lockfile conflicts</h3>
<p>Occasionally, two separate npm install will create package locks that cause
merge conflicts in source control systems. As of <a href="mailto:`npm@5.7.0">`npm@5.7.0</a><code>, these conflicts
can be resolved by manually fixing any</code>package.json<code>conflicts, and then
running</code>npm install [--package-lock-only]<code>again. npm will automatically
resolve any conflicts for you and write a merged package lock that includes all
the dependencies from both branches in a reasonable tree. If</code>--package-lock-only<code>is provided, it will do this without also modifying your
local</code>node_modules/`.</p>
<p>To make this process seamless on git, consider installing
<a href="https://npm.im/npm-merge-driver"><code>npm-merge-driver</code></a>, which will teach git how
to do this itself without any user interaction. In short: <code>$ npx
npm-merge-driver install -g</code> will let you do this, and even works with
<a href="mailto:pre-`npm@5.7.0">pre-`npm@5.7.0</a><code>versions of npm 5, albeit a bit more noisily. Note that if</code>package.json<code>itself conflicts, you will have to resolve that by hand and run</code>npm install` manually, even with the merge driver.</p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="https://medium.com/@sdboyer/so-you-want-to-write-a-package-manager-4ae9c17d9527">https://medium.com/@sdboyer/so-you-want-to-write-a-package-manager-4ae9c17d9527</a></li>
@ -158,4 +145,4 @@ npm-merge-driver install -g</code> will let you do this, and even works with
<tr><td style="width:60px;height:10px;background:rgb(237,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.8.0</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.8.0</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.8.0</p>
<p id="footer">npmrc &mdash; npm@5.6.0</p>

View File

@ -103,18 +103,12 @@ dependencies that are both an optional dependency of the top level and a
transitive dependency of a non-optional dependency of the top level.</p>
<p>All optional dependencies should be included even if they&#39;re uninstallable
on the current platform.</p>
<h4 id="requires">requires</h4>
<p>This is a mapping of module name to version. This is a list of everything
this module requires, regardless of where it will be installed. The version
should match via normal matching rules a dependency either in our
<code>dependencies</code> or in a level higher than us.</p>
<h4 id="dependencies">dependencies</h4>
<p>The dependencies of this dependency, exactly as at the top level.</p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../cli/npm-shrinkwrap.html">npm-shrinkwrap(1)</a></li>
<li><a href="../files/npm-shrinkwrap.json.html">npm-shrinkwrap.json(5)</a></li>
<li><a href="../files/npm-package-locks.html">npm-package-locks(5)</a></li>
<li><a href="../files/package.json.html">package.json(5)</a></li>
<li><a href="../cli/npm-install.html">npm-install(1)</a></li>
</ul>
@ -130,4 +124,4 @@ should match via normal matching rules a dependency either in our
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">package-lock.json &mdash; npm@5.8.0</p>
<p id="footer">package-lock.json &mdash; npm@5.6.0</p>

View File

@ -16,11 +16,11 @@ file. It must be actual JSON, not just a JavaScript object literal.</p>
<p>A lot of the behavior described in this document is affected by the config
settings described in <code><a href="../misc/npm-config.html">npm-config(7)</a></code>.</p>
<h2 id="name">name</h2>
<p>If you plan to publish your package, the <em>most</em> important things in your
package.json are the name and version fields as they will be required. The name
and version together form an identifier that is assumed to be completely unique.
Changes to the package should come along with changes to the version. If you don&#39;t
plan to publish your package, the name and version fields are optional.</p>
<p>The <em>most</em> important things in your package.json are the name and version fields.
Those are actually required, and your package won&#39;t install without
them. The name and version together form an identifier that is assumed
to be completely unique. Changes to the package should come along with
changes to the version.</p>
<p>The name is what your thing is called.</p>
<p>Some rules:</p>
<ul>
@ -45,11 +45,11 @@ already, before you get too attached to it. <a href="https://www.npmjs.com/">htt
<p>A name can be optionally prefixed by a scope, e.g. <code>@myorg/mypackage</code>. See
<code><a href="../misc/npm-scope.html">npm-scope(7)</a></code> for more detail.</p>
<h2 id="version">version</h2>
<p>If you plan to publish your package, the <em>most</em> important things in your
package.json are the name and version fields as they will be required. The name
and version together form an identifier that is assumed to be completely unique.
Changes to the package should come along with changes to the version. If you don&#39;t
plan to publish your package, the name and version fields are optional.</p>
<p>The <em>most</em> important things in your package.json are the name and version fields.
Those are actually required, and your package won&#39;t install without
them. The name and version together form an identifier that is assumed
to be completely unique. Changes to the package should come along with
changes to the version.</p>
<p>Version must be parseable by
<a href="https://github.com/isaacs/node-semver">node-semver</a>, which is bundled
with npm as a dependency. (<code>npm install semver</code> to use it yourself.)</p>
@ -62,9 +62,7 @@ package, as it&#39;s listed in <code>npm search</code>.</p>
discover your package as it&#39;s listed in <code>npm search</code>.</p>
<h2 id="homepage">homepage</h2>
<p>The url to the project homepage.</p>
<p>Example:</p>
<pre><code>&quot;homepage&quot;: &quot;https://github.com/owner/project#readme&quot;
</code></pre><h2 id="bugs">bugs</h2>
<h2 id="bugs">bugs</h2>
<p>The url to your project&#39;s issue tracker and / or the email address to which
issues should be reported. These are helpful for people who encounter issues
with your package.</p>
@ -131,14 +129,13 @@ is an object with a &quot;name&quot; field and optionally &quot;url&quot; and &q
</code></pre><p>Both email and url are optional either way.</p>
<p>npm also sets a top-level &quot;maintainers&quot; field with your npm user info.</p>
<h2 id="files">files</h2>
<p>The optional <code>files</code> field is an array of file patterns that describes
<p>The optional &quot;files&quot; field is an array of file patterns that describes
the entries to be included when your package is installed as a
dependency. File patterns follow a similar syntax to <code>.gitignore</code>, but
reversed: including a file, directory, or glob pattern (<code>*</code>, <code>**/*</code>, and such)
will make it so that file is included in the tarball when it&#39;s packed. Omitting
the field will make it default to <code>[&quot;*&quot;]</code>, which means it will include all files.</p>
<p>Some special files and directories are also included or excluded regardless of
whether they exist in the <code>files</code> array (see below).</p>
dependency. If the files array is omitted, everything except
automatically-excluded files will be included in your publish. If you
name a folder in the array, then it will also include the files inside
that folder (unless they would be ignored by another rule in this
section.).</p>
<p>You can also provide a <code>.npmignore</code> file in the root of your package or
in subdirectories, which will keep files from being included. At the
root of your package it will not override the &quot;files&quot; field, but in
@ -182,10 +179,6 @@ That is, if your package is named <code>foo</code>, and a user installs it, and
<p>This should be a module ID relative to the root of your package folder.</p>
<p>For most modules, it makes the most sense to have a main script and often not
much else.</p>
<h2 id="browser">browser</h2>
<p>If your module is meant to be used client-side the browser field should be
used instead of the main field. This is helpful to hint users that it might
rely on primitives that aren&#39;t available in Node.js modules. (e.g. <code>window</code>)</p>
<h2 id="bin">bin</h2>
<p>A lot of packages have one or more executable files that they&#39;d like to
install into the PATH. npm makes this pretty easy (in fact, it uses this
@ -610,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.8.0</p>
<p id="footer">package.json &mdash; npm@5.6.0</p>

View File

@ -30,8 +30,6 @@
<p>REMOVED</p>
<h3 id="npm-cache-1-"><a href="cli/npm-cache.html">npm-cache(1)</a></h3>
<p>Manipulates packages cache</p>
<h3 id="npm-ci-1-"><a href="cli/npm-ci.html">npm-ci(1)</a></h3>
<p>Install a project with a clean slate</p>
<h3 id="npm-completion-1-"><a href="cli/npm-completion.html">npm-completion(1)</a></h3>
<p>Tab Completion for npm</p>
<h3 id="npm-config-1-"><a href="cli/npm-config.html">npm-config(1)</a></h3>
@ -174,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.8.0</p>
<p id="footer">npm-index &mdash; npm@5.6.0</p>

View File

@ -91,7 +91,7 @@ final token in the list on a line by itself. For example:</p>
<pre><code>var ok = &#39;String contains &quot;double&quot; quotes&#39;
var alsoOk = &quot;String contains &#39;single&#39; quotes or apostrophe&quot;
</code></pre><h2 id="whitespace">Whitespace</h2>
<p>Put a single space in front of <code>(</code> for anything other than a function call.
<p>Put a single space in front of ( for anything other than a function call.
Also use a single space wherever it makes things more readable.</p>
<p>Don&#39;t leave trailing whitespace at the end of lines. Don&#39;t indent empty
lines. Don&#39;t use more spaces than are helpful.</p>
@ -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.8.0</p>
<p id="footer">npm-coding-style &mdash; npm@5.6.0</p>

View File

@ -239,8 +239,6 @@ PEM format (Windows calls it &quot;Base-64 encoded X.509 (.CER)&quot;) with newl
</ul>
<p>If false, never shows colors. If <code>&quot;always&quot;</code> then always shows colors.
If true, then only prints color codes for tty file descriptors.</p>
<p>This option can also be changed using the environment: colors are
disabled when the environment variable <code>NO_COLOR</code> is set to any value.</p>
<h3 id="depth">depth</h3>
<ul>
<li>Default: Infinity</li>
@ -562,7 +560,7 @@ combination). Passed to the <code>http</code> <code>Agent</code> used to make th
<p>Any &quot;%s&quot; in the message will be replaced with the version number.</p>
<h3 id="metrics-registry">metrics-registry</h3>
<ul>
<li>Default: The value of <code>registry</code> (which defaults to &quot;<a href="https://registry.npmjs.org/&quot;">https://registry.npmjs.org/&quot;</a>)</li>
<li>Default: The value of <code>registry</code> (which defaults to &quot;<a href="https://registry.npmjs.org/">https://registry.npmjs.org/</a>&quot;)</li>
<li>Type: String</li>
</ul>
<p>The registry you want to send cli metrics to if <code>send-metrics</code> is true.</p>
@ -580,12 +578,6 @@ impact how lifecycle scripts are called.</p>
<li>Type: semver or false</li>
</ul>
<p>The node version to use when checking a package&#39;s <code>engines</code> map.</p>
<h3 id="no-proxy">no-proxy</h3>
<ul>
<li>Default: null</li>
<li>Type: String or Array</li>
</ul>
<p>A comma-separated string or an array of domain extensions that a proxy should not be used for.</p>
<h3 id="offline">offline</h3>
<ul>
<li>Default: false</li>
@ -636,16 +628,13 @@ when publishing or changing package permissions with <code>npm access</code>.</p
</ul>
<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>When package package-locks are disabled, automatic pruning of extraneous
modules will also be disabled. To remove extraneous modules with
package-locks disabled use <code>npm prune</code>.</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-lock.json</code>,
<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>
@ -729,7 +718,7 @@ honored by the underlying <code>request</code> library.</p>
<p>Remove failed installs.</p>
<h3 id="save">save</h3>
<ul>
<li>Default: true</li>
<li>Default: false</li>
<li>Type: Boolean</li>
</ul>
<p>Save installed packages to a package.json file as dependencies.</p>
@ -1035,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.8.0</p>
<p id="footer">npm-config &mdash; npm@5.6.0</p>

View File

@ -20,7 +20,7 @@ that your users will do to install your program.</p>
<p>These are man pages. If you install npm, you should be able to
then do <code>man npm-thing</code> to get the documentation on a particular
topic, or <code>npm help thing</code> to see the same information.</p>
<h2 id="what-is-a-package">What is a <code>package</code></h2>
<h2 id="what-is-a-package-">What is a <code>package</code></h2>
<p>A package is:</p>
<ul>
<li>a) a folder containing a program described by a package.json file</li>
@ -53,7 +53,7 @@ This should be a string that identifies your project. Please do not
use the name to specify that it runs on node, or is in JavaScript.
You can use the &quot;engines&quot; field to explicitly state the versions of
node (or whatever else) that your program requires, and it&#39;s pretty
well assumed that it&#39;s JavaScript.</p>
well assumed that it&#39;s javascript.</p>
<p>It does not necessarily need to match your github repository name.</p>
<p>So, <code>node-foo</code> and <code>bar-js</code> are bad names. <code>foo</code> or <code>bar</code> are better.</p>
</li>
@ -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.8.0</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="mailto:&#x73;&#117;&#x70;&#112;&#x6f;&#114;&#116;&#64;&#110;&#112;&#109;&#106;&#115;&#x2e;&#x63;&#x6f;&#109;">&#x73;&#117;&#x70;&#112;&#x6f;&#114;&#116;&#64;&#110;&#112;&#109;&#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>
@ -44,7 +44,7 @@ publishes it to the npm registry. Being a simple little thing, it never
really has to be updated. Alice works for Foo Inc, the makers of the
critically acclaimed and widely-marketed <code>foo</code> JavaScript toolkit framework.
They publish it to npm as <code>foojs</code>, but people are routinely confused when
<code>npm install</code>foo<code></code> is some different thing.</li>
<code>npm install</code>foo`` is some different thing.</li>
<li><p>Yusuf writes a parser for the widely-known <code>foo</code> file format, because he
needs it for work. Then, he gets a new job, and never updates the prototype.
Later on, Alice writes a much more complete <code>foo</code> parser, but can&#39;t publish,
@ -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="mailto:&#115;&#x75;&#112;&#x70;&#111;&#114;&#116;&#x40;&#110;&#112;&#109;&#x6a;&#x73;&#46;&#99;&#x6f;&#x6d;">&#115;&#x75;&#112;&#x70;&#111;&#114;&#116;&#x40;&#110;&#112;&#109;&#x6a;&#x73;&#46;&#99;&#x6f;&#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="mailto:&#115;&#117;&#112;&#112;&#111;&#x72;&#116;&#x40;&#110;&#x70;&#x6d;&#x6a;&#x73;&#x2e;&#x63;&#111;&#109;">&#115;&#117;&#112;&#112;&#111;&#x72;&#116;&#x40;&#110;&#x70;&#x6d;&#x6a;&#x73;&#x2e;&#x63;&#111;&#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="mailto:&#97;&#98;&#117;&#x73;&#101;&#64;&#110;&#x70;&#x6d;&#x6a;&#x73;&#46;&#x63;&#x6f;&#x6d;">&#97;&#98;&#117;&#x73;&#101;&#64;&#110;&#x70;&#x6d;&#x6a;&#x73;&#46;&#x63;&#x6f;&#x6d;</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="mailto:&#x61;&#x62;&#x75;&#x73;&#101;&#64;&#x6e;&#x70;&#109;&#106;&#x73;&#46;&#99;&#111;&#109;">&#x61;&#x62;&#x75;&#x73;&#101;&#64;&#x6e;&#x70;&#109;&#106;&#x73;&#46;&#99;&#111;&#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.8.0</p>
<p id="footer">npm-disputes &mdash; npm@5.6.0</p>

View File

@ -30,8 +30,6 @@
<p>REMOVED</p>
<h3 id="npm-cache-1-"><a href="../cli/npm-cache.html">npm-cache(1)</a></h3>
<p>Manipulates packages cache</p>
<h3 id="npm-ci-1-"><a href="../cli/npm-ci.html">npm-ci(1)</a></h3>
<p>Install a project with a clean slate</p>
<h3 id="npm-completion-1-"><a href="../cli/npm-completion.html">npm-completion(1)</a></h3>
<p>Tab Completion for npm</p>
<h3 id="npm-config-1-"><a href="../cli/npm-config.html">npm-config(1)</a></h3>
@ -174,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.8.0</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.8.0</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.8.0</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.8.0</p>
<p id="footer">npm-scope &mdash; npm@5.6.0</p>

View File

@ -64,15 +64,15 @@ names will be run for those as well (e.g. <code>premyscript</code>, <code>myscri
<p><pkg> -- npm run <stage>`.</p>
<h2 id="prepublish-and-prepare">PREPUBLISH AND PREPARE</h2>
<h3 id="deprecation-note">DEPRECATION NOTE</h3>
<p>Since <a href="mailto:`npm@1.1.71">`npm@1.1.71</a><code>, the npm CLI has run the</code>prepublish<code>script for both</code>npm
publish<code>and</code>npm install<code>, because it&#39;s a convenient way to prepare a package
<p>Since <code>npm@1.1.71</code>, the npm CLI has run the <code>prepublish</code> script for both <code>npm
publish</code> and <code>npm install</code>, because it&#39;s a convenient way to prepare a package
for use (some common use cases are described in the section below). It has
also turned out to be, in practice, [very
confusing](https://github.com/npm/npm/issues/10074). As of</code><a href="mailto:npm@4.0.0">npm@4.0.0</a><code>, a new
event has been introduced,</code>prepare<code>, that preserves this existing behavior. A
_new_ event,</code>prepublishOnly<code>has been added as a transitional strategy to
also turned out to be, in practice, <a href="https://github.com/npm/npm/issues/10074">very
confusing</a>. As of <code>npm@4.0.0</code>, a new
event has been introduced, <code>prepare</code>, that preserves this existing behavior. A
<em>new</em> event, <code>prepublishOnly</code> has been added as a transitional strategy to
allow users to avoid the confusing behavior of existing npm versions and only
run on</code>npm publish` (for instance, running the tests one last time to ensure
run on <code>npm publish</code> (for instance, running the tests one last time to ensure
they&#39;re in good shape).</p>
<p>See <a href="https://github.com/npm/npm/issues/10074">https://github.com/npm/npm/issues/10074</a> for a much lengthier
justification, with further reading, for this change.</p>
@ -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.8.0</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.8.0</p>
<p id="footer">removing-npm &mdash; npm@5.6.0</p>

View File

@ -24,8 +24,6 @@ semver.clean(&#39; =v1.2.3 &#39;) // &#39;1.2.3&#39;
semver.satisfies(&#39;1.2.3&#39;, &#39;1.x || &gt;=2.5.0 || 5.0.0 - 7.2.3&#39;) // true
semver.gt(&#39;1.2.3&#39;, &#39;9.8.7&#39;) // false
semver.lt(&#39;1.2.3&#39;, &#39;9.8.7&#39;) // true
semver.valid(semver.coerce(&#39;v2&#39;)) // &#39;2.0.0&#39;
semver.valid(semver.coerce(&#39;42.6.7.9.3-alpha&#39;)) // &#39;42.6.7&#39;
</code></pre>
<p>As a command-line utility:</p>
<pre><code>$ semver -h
@ -55,10 +53,6 @@ Options:
-l --loose
Interpret versions and ranges loosely
-c --coerce
Coerce a string into SemVer if possible
(does not imply --loose)
Program exits successfully if any valid version satisfies
all supplied ranges, and prints all satisfying versions.
@ -139,7 +133,7 @@ will append the value of the string as a prerelease identifier:</p>
deterministic ways.</p>
<p>Advanced ranges may be combined in the same way as primitive
comparators using white space or <code>||</code>.</p>
<h4 id="hyphen-ranges-x-y-z-a-b-c">Hyphen Ranges <code>X.Y.Z - A.B.C</code></h4>
<h4 id="hyphen-ranges-x-y-z-a-b-c-">Hyphen Ranges <code>X.Y.Z - A.B.C</code></h4>
<p>Specifies an inclusive set.</p>
<ul>
<li><code>1.2.3 - 2.3.4</code> := <code>&gt;=1.2.3 &lt;=2.3.4</code></li>
@ -172,7 +166,7 @@ character is in fact optional.</p>
<li><code>1</code> := <code>1.x.x</code> := <code>&gt;=1.0.0 &lt;2.0.0</code></li>
<li><code>1.2</code> := <code>1.2.x</code> := <code>&gt;=1.2.0 &lt;1.3.0</code></li>
</ul>
<h4 id="tilde-ranges-1-2-3-1-2-1">Tilde Ranges <code>~1.2.3</code> <code>~1.2</code> <code>~1</code></h4>
<h4 id="tilde-ranges-1-2-3-1-2-1-">Tilde Ranges <code>~1.2.3</code> <code>~1.2</code> <code>~1</code></h4>
<p>Allows patch-level changes if a minor version is specified on the
comparator. Allows minor-level changes if not.</p>
<ul>
@ -188,7 +182,7 @@ equal to <code>beta.2</code>. So, <code>1.2.3-beta.4</code> would be allowed, b
<code>1.2.4-beta.2</code> would not, because it is a prerelease of a
different <code>[major, minor, patch]</code> tuple.</li>
</ul>
<h4 id="caret-ranges-1-2-3-0-2-5-0-0-4">Caret Ranges <code>^1.2.3</code> <code>^0.2.5</code> <code>^0.0.4</code></h4>
<h4 id="caret-ranges-1-2-3-0-2-5-0-0-4-">Caret Ranges <code>^1.2.3</code> <code>^0.2.5</code> <code>^0.0.4</code></h4>
<p>Allows changes that do not modify the left-most non-zero digit in the
<code>[major, minor, patch]</code> tuple. In other words, this allows patch and
minor updates for versions <code>1.0.0</code> and above, patch updates for
@ -330,21 +324,6 @@ range (since <code>1.2.8</code> satisfies, which is lower), and it also does not
satisfy the range.</p>
<p>If you want to know if a version satisfies or does not satisfy a
range, use the <code>satisfies(version, range)</code> function.</p>
<h3 id="coercion">Coercion</h3>
<ul>
<li><code>coerce(version)</code>: Coerces a string to semver if possible</li>
</ul>
<p>This aims to provide a very forgiving translation of a non-semver
string to semver. It looks for the first digit in a string, and
consumes all remaining characters which satisfy at least a partial semver
(e.g., <code>1</code>, <code>1.2</code>, <code>1.2.3</code>) up to the max permitted length (256 characters).
Longer versions are simply truncated (<code>4.6.3.9.2-alpha2</code> becomes <code>4.6.3</code>).
All surrounding text is simply ignored (<code>v3.4 replaces v3.3.1</code> becomes <code>3.4.0</code>).
Only text which lacks digits will fail coercion (<code>version one</code> is not valid).
The maximum length for any semver component considered for coercion is 16 characters;
longer components will be ignored (<code>10000000000000000.4.7.4</code> becomes <code>4.7.4</code>).
The maximum value for any semver component is <code>Integer.MAX_SAFE_INTEGER || (2**53 - 1)</code>;
higher value components are invalid (<code>9999999999999999.4.7.4</code> is likely invalid).</p>
</div>
@ -357,5 +336,5 @@ higher value components are invalid (<code>9999999999999999.4.7.4</code> is like
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">semver &mdash; npm@5.8.0</p>
<p id="footer">semver &mdash; npm@5.6.0</p>

View File

@ -6,74 +6,52 @@ const npm = require('../npm.js')
const output = require('../utils/output.js')
const pacoteOpts = require('../config/pacote')
const fetchOpts = require('../config/fetch-opts')
const opener = require('opener')
const openerPromise = (url) => new Promise((resolve, reject) => {
opener(url, { command: npm.config.get('browser') }, (er) => er ? reject(er) : resolve())
})
module.exports.login = function login (creds, registry, scope, cb) {
let username = creds.username || ''
let password = creds.password || ''
let email = creds.email || ''
const auth = {}
if (npm.config.get('otp')) auth.otp = npm.config.get('otp')
const loginPrompter = (creds) => {
const opts = { log: log }
return read.username('Username:', creds.username, opts).then((u) => {
creds.username = u
return read.password('Password:', creds.password)
return read.username('Username:', username, {log: log}).then((u) => {
username = u
return read.password('Password: ', password)
}).then((p) => {
creds.password = p
return read.email('Email: (this IS public) ', creds.email, opts)
password = p
return read.email('Email: (this IS public) ', email, {log: log})
}).then((e) => {
creds.email = e
return creds
})
}
module.exports.login = (creds, registry, scope, cb) => {
const conf = {
log: log,
creds: creds,
registry: registry,
auth: {
otp: npm.config.get('otp')
},
scope: scope,
opts: fetchOpts.fromPacote(pacoteOpts())
}
login(conf).then((newCreds) => cb(null, newCreds)).catch(cb)
}
function login (conf) {
return profile.login(openerPromise, loginPrompter, conf)
.catch((err) => {
if (err.code === 'EOTP') throw err
const u = conf.creds.username
const p = conf.creds.password
const e = conf.creds.email
if (!(u && p && e)) throw err
return profile.adduserCouch(u, e, p, conf)
})
.catch((err) => {
if (err.code !== 'EOTP') throw err
return read.otp('Authenticator provided OTP:').then((otp) => {
conf.auth.otp = otp
const u = conf.creds.username
const p = conf.creds.password
return profile.loginCouch(u, p, conf)
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,
opts: fetchOpts.fromPacote(pacoteOpts())
})
}).catch((err) => {
if (err.code === 'EOTP' && !auth.otp) {
return read.otp('Authenticator provided OTP:').then((otp) => {
auth.otp = otp
return profile.login(username, password, {registry: registry, auth: auth})
})
} else {
throw err
}
})
}).then((result) => {
const newCreds = {}
if (result && result.token) {
newCreds.token = result.token
} else {
newCreds.username = conf.creds.username
newCreds.password = conf.creds.password
newCreds.email = conf.creds.email
newCreds.username = username
newCreds.password = password
newCreds.email = email
newCreds.alwaysAuth = npm.config.get('always-auth')
}
const usermsg = conf.creds.username ? ' user ' + conf.creds.username : ''
conf.log.info('login', 'Authorized' + usermsg)
const scopeMessage = conf.scope ? ' to scope ' + conf.scope : ''
const userout = conf.creds.username ? ' as ' + conf.creds.username : ''
output('Logged in%s%s on %s.', userout, scopeMessage, conf.registry)
return newCreds
})
log.info('adduser', 'Authorized user %s', username)
const scopeMessage = scope ? ' to scope ' + scope : ''
output('Logged in as %s%s on %s.', username, scopeMessage, registry)
cb(null, newCreds)
}).catch(cb)
}

37
deps/npm/lib/ci.js vendored
View File

@ -1,37 +0,0 @@
'use strict'
const Installer = require('libcipm')
const lifecycleOpts = require('./config/lifecycle.js')
const npm = require('./npm.js')
const npmlog = require('npmlog')
const pacoteOpts = require('./config/pacote.js')
ci.usage = 'npm ci'
ci.completion = (cb) => cb(null, [])
Installer.CipmConfig.impl(npm.config, {
get: npm.config.get,
set: npm.config.set,
toLifecycle (moreOpts) {
return lifecycleOpts(moreOpts)
},
toPacote (moreOpts) {
return pacoteOpts(moreOpts)
}
})
module.exports = ci
function ci (args, cb) {
return new Installer({
config: npm.config,
log: npmlog
})
.run()
.then(
(details) => console.error(`added ${details.pkgCount} packages in ${
details.runTime / 1000
}s`)
)
.then(() => cb(), cb)
}

View File

@ -22,7 +22,6 @@ var affordances = {
'la': 'ls',
'll': 'ls',
'verison': 'version',
'ic': 'ci',
'isntall': 'install',
'dist-tags': 'dist-tag',
'apihelp': 'help',
@ -47,7 +46,6 @@ var affordances = {
// these are filenames in .
var cmdList = [
'ci',
'install',
'install-test',
'uninstall',

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