deps: upgrade npm to 3.9.3

Contains the following npm releases:
- v3.9.0: https://github.com/npm/npm/releases/tag/v3.9.0
- v3.9.1: https://github.com/npm/npm/releases/tag/v3.9.1
- v3.9.2: https://github.com/npm/npm/releases/tag/v3.9.2
- v3.9.3: https://github.com/npm/npm/releases/tag/v3.9.3

PR-URL: https://github.com/nodejs/node/pull/7030
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
This commit is contained in:
Kat Marchán 2016-05-27 14:07:59 -07:00 committed by Jeremiah Senkpiel
parent 16f98e589c
commit bd8b1ddb20
517 changed files with 13756 additions and 52656 deletions

2
deps/npm/AUTHORS vendored
View File

@ -396,3 +396,5 @@ Steve Mao <maochenyan@gmail.com>
Anna Henningsen <anna@addaleax.net>
Rachel Evans <git@rve.org.uk>
Sam Minnee <sam@silverstripe.com>
Zirak <zirakertan@gmail.com>
Daniel Lupu <lupu.daniel.f@gmail.com>

288
deps/npm/CHANGELOG.md vendored
View File

@ -1,3 +1,289 @@
### v3.9.3 (2016-05-19):
This week continues our `big-bug` squashing adventure! Things are churning along
nicely, and we've gotten a lot of fantastic contributions from the community.
Please keep it up!
A quick note on last week's release: We had a small `npm shrinkwrap`-related
crasher in `npm@3.9.1`, so once this release goes out, `v3.9.2` is going to be
`npm@latest`. Please update if you ended up in with that previous version!
Remember we have a weekly team meeting, and you can [suggest agenda items in the
GitHub issue](https://github.com/npm/npm/issues/12761). Keep an eye out for the
`#npmweekly` tag on Twitter, too, and join the conversation! We'll do our best
to address questions y'all send us. ✌
#### FIXES
* [`42d71be`](https://github.com/npm/npm/commit/42d71be2cec674dd9e860ad414f53184f667620d)
[#12685](https://github.com/npm/npm/pull/12685)
When using `npm ls <pkg>` without a semver specifier, `npm ls` would skip
any packages in your tree that matched by name, but had a prerelease version
in their `package.json`. This patch fixes it so `npm ls` does a simple name
match unless you use the `npm ls <pkg>@<version>` format.
([@zkat](https://github.com/zkat))
* [`c698ae6`](https://github.com/npm/npm/commit/c698ae666afc92fbc0fcba3c082cfa9b34a4420d)
[#12685](https://github.com/npm/npm/pull/12685)
Added some tests for more basic `npm ls` functionality.
([@zkat](https://github.com/zkat))
### NOTABLE DEPENDENCY UPDATES
* [`3a6fe23`](https://github.com/npm/npm/commit/3a6fe2373c45e80a1f28aaf176d552f6f97cf131)
[npm/fstream-npm#17](https://github.com/npm/fstream-npm/pull/17)
`fstream-npm@1.1.0`:
`fstream-npm` always includes NOTICE files now.
([@kemitchell](https://github.com/kemitchell))
* [`df04e05`](https://github.com/npm/npm/commit/df04e05af1f257a1903372e1baf334c0969fbdbd)
[#10013](https://github.com/npm/npm/issues/10013)
`read-package-tree@5.1.4`:
Fixes an issue where `npm install` would fail if your `node_modules` was
symlinked.
([@iarna](https://github.com/iarna))
* [`584676f`](https://github.com/npm/npm/commit/584676f85eaebcb9d6c4d70d2ad320be8a8d6a74)
[npm/init-package-json#62](https://github.com/npm/init-package-json/pull/62)
`init-package-json@1.9.4`:
Stop using `package` for a variable, which defeats some bundlers and linters.
([@adius](https://github.com/adius))
* [`935a7e3`](https://github.com/npm/npm/commit/935a7e359535e13924934811b77924cbad82619a)
`readable-stream@2.1.3`:
Node 6 build and buffer-related updates.
([@calvinmetcalf](https://github.com/calvinmetcalf))
#### OTHER DEPENDENCY UPDATES
* [`4c4609e`](https://github.com/npm/npm/commit/4c4609ea49e77303f9d72af6757620e6b3a9a6a9)
`inflight@1.0.5`
([@zkat](https://github.com/zkat))
* [`7a3030d`](https://github.com/npm/npm/commit/7a3030d3d44ea2136425f72950ba22e6efd441d9)
`hosted-git-info@2.1.5`
([@zkat](https://github.com/zkat))
* [`5ed4b58`](https://github.com/npm/npm/commit/5ed4b58409eeb134bca1c96252682fd7600d9906)
`which@1.2.9`
([@isaacs](https://github.com/isaacs))
### v3.9.2 (2016-05-17)
This is a quick patch release. The previous release, 3.9.1, introduced a
bug where npm would crash given a combination of specific package tree on
disk and a shrinkwrap.
* [`cde367f`](https://github.com/npm/npm/commit/cde367fbb6eebc5db68a44b12a5c7bea158d70db)
[#12724](https://github.com/npm/npm/issues/12724)
Fix crasher when inflating shrinkwraps with packages on disk that were
installed by older npm versions.
([@iarna](https://github.com/iarna))
### v3.9.1 (2016-05-12)
HI all! We have bug fixes to a couple of the hairy corners of `npm`, in the
form of shrinkwraps and bundled dependencies. Plus some documentation improvements
and our lodash deps bot a bump.
This is our first week really focused on getting the
[big bugs](https://github.com/npm/npm/issues?q=is%3Aopen+is%3Aissue+label:big-bug)
list down. Our work from this week will be landing next week, and I can't
wait to tell you about that! (It's about symlinks!)
#### SHRINKWRAP FIX
* [`b894413`](https://github.com/npm/npm/commit/b8944139a935680c4a267468bb2d3c3082b5609f)
[#12372](https://github.com/npm/npm/issues/12372)
Changing a nested dependency in an `npm-shrinkwrap.json` and then running `npm install`
would not get up the updated package. This corrects that.
([@misterbyrne](https://github.com/misterbyrne))
#### BUNDLED DEPENDENCIES FIX
* [`d0c6d19`](https://github.com/npm/npm/commit/d0c6d194471be8ce3e7b41b744b24f63dd1a3f6f)
[#12476](https://github.com/npm/npm/pull/12476)
Protects against a crasher when a bundled dep is missing a package.json.
([@dflupu](https://github.com/dflupu))
#### DOCS IMPROVEMENTS
* [`6699aa5`](https://github.com/npm/npm/commit/6699aa53c0a729cfc921ac1d8107c320e5a5ac95)
[#12585](https://github.com/npm/npm/pull/12585)
Document that engineStrict is quite gone. Not "deprecated" so much as "extirpated".
([@othiym23](https://github.com/othiym23))
* [`7a41a84`](https://github.com/npm/npm/commit/7a41a84b655be3204d2e80848278a510e42c80e7)
[#12636](https://github.com/npm/npm/pull/12636)
Improve `npm-scripts` documentation regarding when `node-gyp` is used.
([@reconbot](https://github.com/reconbot))
* [`4c4b4ba`](https://github.com/npm/npm/commit/4c4b4badf09b9b50cdca85314429a0111bb35cb1)
[#12586](https://github.com/npm/npm/pull/12586)
Correct `package.json` documentation as to when `node-gyp rebuild` called.
This now matches https://docs.npmjs.com/misc/scripts#default-values
([@reconbot](https://github.com/reconbot))
#### DEPENDENCY UPDATES
* [`cfa797f`](https://github.com/npm/npm/commit/cfa797fedd34696d45b61e3ae0398407afece880)
`lodash._baseuniq@4.6.0`
([@jdalton](https://github.com/jdalton))
* [`ab6f180`](https://github.com/npm/npm/commit/ab6f1801971b513f9294b4b8902034ab402af02d)
`lodash.keys@4.0.7`
([@jdalton](https://github.com/jdalton))
* [`4b8d8b6`](https://github.com/npm/npm/commit/4b8d8b63e760a8aa03e8bffa974495dfafbfcb06)
`lodash.union@4.4.0`
([@jdalton](https://github.com/jdalton))
* [`46099d3`](https://github.com/npm/npm/commit/46099d34542760098e5d13c7468a405a724ca407)
`lodash.uniq@4.3.0`
([@jdalton](https://github.com/jdalton))
* [`fff89c6`](https://github.com/npm/npm/commit/fff89c6826c86e9e789adcc9c398385539306042)
`lodash.without@4.2.0`
([@jdalton](https://github.com/jdalton))
### v3.9.0 (2016-05-05)
Wow! This is a big release week! We've completed the fixes that let the
test suite pass on Windows, plus more general bug fixes we found while
fixing things on Windows. Plus a warning to help folks work around a common
footgun. PLUS an improvement to how npm works with long cache timeouts.
#### INFINITE CACHE A LITTLE BETTER
* [`111ae3e`](https://github.com/npm/npm/commit/111ae3ec366ece7ebcf5988f5bc2a7cd70737dfe)
[#8581](https://github.com/npm/npm/issues/8581)
When a package is fetched from the cache which cannot satisfy the version
requirements, an attempt to fetch it from the network is made. This is
helpful for folks using high values for `--cache-min` who are willing to
accept possibly not-the-most-recent modules in return for less network
traffic.
([@Zirak](https://github.com/Zirak))
#### WARNING: FOOTGUN
* [`60b9a05`](https://github.com/npm/npm/commit/60b9a051aa46b8892fe63b3681839a6fd6642bfd)
[#12475](https://github.com/npm/npm/pull/12475)
Options can only start with ASCII dashes. Ordinarily this isn't a problem
but many web documentation tools "helpfully" convert `--` into an emdash
(), or `-` into an endash (). If you copy and paste from this documentation
your commands won't work the way you expect. This adds a warning that tries
to be a little more descriptive about why your command is failing.
([@iarna](https://github.com/iarna))
#### WINDOWS CI
We have [Windows CI](https://ci.appveyor.com/project/npm/npm) setup now! We still have to
tweak it a little bit around paths to the git binaries, but it's otherwise ready!
* [`bb5d6cb`](https://github.com/npm/npm/commit/bb5d6cbf46b2609243d3b384caadd196e665a797)
[#11444](https://github.com/npm/npm/pull/11444)
Add AppVeyor to CI matrix.
([@othiym23](https://github.com/othiym23))
#### COVERAGE DATA
Not only do our tests produce coverage reports after they run now, we also
automatically [update Coveralls](https://coveralls.io/github/npm/npm) with
results from [Travis CI](travis-ci.org/npm/npm) runs.
* [`044cbab`](https://github.com/npm/npm/commit/044cbab0d49adeeb0d9310c64fee6c9759cc7428)
[#11444](https://github.com/npm/npm/pull/11444)
Enable coverage reporting for every test run.
([@othiym23](https://github.com/othiym23))
#### EVERYONE BUGS
* [`37c6a51`](https://github.com/npm/npm/commit/37c6a51c71b0feec8f639b3199a8a9172e58deec)
[#12150](https://github.com/npm/npm/pull/12150)
Ensure that 'npm cache ls' outputs real filenames. Previously it would
sometimes double up the package name in the path it printed.
([@isaacs](https://github.com/isaacs))
* [`d3ce0b2`](https://github.com/npm/npm/commit/d3ce0b253eb519375071aee29db4ee129dbcdf5c)
[#11444](https://github.com/npm/npm/pull/11444)
Fix unbuilding bins for scoped modules.
([@iarna](https://github.com/iarna))
* [`e928a30`](https://github.com/npm/npm/commit/e928a30947477a09245f54e9381f46b97bee32d5)
[#11444](https://github.com/npm/npm/pull/11444)
Make handling of local modules (eg `npm install /path/to/my/module`) more
consistent when saved to a `package.json`. There were bugs previously where
it wouldn't consistently resolve relative paths in the same way.
([@iarna](https://github.com/iarna))
* [`b820ed4`](https://github.com/npm/npm/commit/b820ed4fc04e21577fa66f7c9482b5ab002e7985)
[#11444](https://github.com/npm/npm/pull/11444)
Under certain circumstances the paths produced for linking, either
relative or absolute, would end up basing off the wrong virtual cwd.
This resulted in failures for `npm link` in this situations.
([@iarna](https://github.com/iarna))
#### WINDOWS BUGS
* [`7380425`](https://github.com/npm/npm/commit/7380425d810fb8bfc69405a9cbbdec19978a7bee)
[#11444](https://github.com/npm/npm/pull/11444)
Scoped module names were not being correctly inferred from the path on Windows.
([@zkat](https://github.com/zkat))
* [`91fc24f`](https://github.com/npm/npm/commit/91fc24f2763c2e0591093099ffc866c735f27fde)
[#11444](https://github.com/npm/npm/pull/11444)
Explore with a command to run didn't work properly in Windows it would pop open a new
cmd window and leave it there.
([@iarna](https://github.com/iarna))
#### WINDOWS REFACTORING
* [`f07e643`](https://github.com/npm/npm/commit/f07e6430d4ca02f811138f6140a8bad927607a1f)
[#11444](https://github.com/npm/npm/pull/11444)
Move exec path escaping out to its own function. This turns out to be
tricky to get right because how you escape commands to run on Windows via
cmd is different then how you escape them at other times. Specifically,
you HAVE to quote each directory segment that has a quote in it, that is:
`C:\"Program Files"\MyApp\MyApp.exe` By contrast, if that were an argument
to a command being run, you CAN'T DO quote it that way, instead you have
to wrap the entire path in quotes, like so: `"C:\Program
Files\MyApp\MyApp.exe"`.
([@iarna](https://github.com/iarna))
* [`2e01d29`](https://github.com/npm/npm/commit/2e01d299f8244134b1aa040cab1b59c72c9df4da)
[#11444](https://github.com/npm/npm/pull/11444)
Create a single function for detecting if we're running on Windows (and
using a Windows shell like cmd) and use this instead of doing it one-off
all over the place.
([@iarna](https://github.com/iarna))
#### FIX WINDOWS TESTS
As I said before, our tests are passing on Windows! 🎉
* [`ef0dd74`](https://github.com/npm/npm/commit/ef0dd74583be25c72343ed07d1127e4d0cc02df9)
[#11444](https://github.com/npm/npm/pull/11444)
The fruits of many weeks of labor, fix our tests to pass on Windows.
([@zkat](https://github.com/zkat))
([@iarna](https://github.com/iarna))
#### DEPENDENCY UPDATES
* [`8fccda8`](https://github.com/npm/npm/commit/8fccda8587209659c469ab55c608b0e2d7533530)
[#11444](https://github.com/npm/npm/pull/11444)
`normalize-git-url@3.0.2`:
Fix file URLs on Windows.
([@zkat](https://github.com/zkat))
* [`f53a154`](https://github.com/npm/npm/commit/f53a154df8e0696623e6a71f33e0a7c11a7555aa)
`readable-stream@2.1.2`:
When readable-stream is disabled, reuse result of `require('stream')`
instead of calling it every time.
([@calvinmetcalf](https://github.com/calvinmetcalf))
* [`02841cf`](https://github.com/npm/npm/commit/02841cfb81d6ba86f691ab43d9bbdac29aec27e7)
[#11444](https://github.com/npm/npm/pull/11444)
`realize-package-specifier@3.0.2`:
Resolve local package paths relative to package root, not cwd.
([@zkat](https://github.com/zkat))
([@iarna](https://github.com/iarna))
* [`247c1c5`](https://github.com/npm/npm/commit/247c1c5ae08c882c9232ca605731039168bae6ed)
[#11444](https://github.com/npm/npm/pull/11444)
`npm-package-arg@4.1.1`:
Fix Windows file URIs with leading slashes.
([@zkat](https://github.com/zkat))
* [`365c72b`](https://github.com/npm/npm/commit/365c72bc3ecd9e45f9649725dd635d5625219d8c)
`which@1.2.8`
([@isaacs](https://github.com/isaacs))
* [`e568caa`](https://github.com/npm/npm/commit/e568caabb8390a924ce1cfa51fc914ee6c1637a2)
`graceful-fs@4.1.4`
([@isaacs](https://github.com/isaacs))
* [`304b974`](https://github.com/npm/npm/commit/304b97434959a58f84383bcccc0357c51a4eb39a)
[#11444](https://github.com/npm/npm/pull/11444)
`standard@6.0.8`
([@feross](https://github.com/feross))
### v3.8.9 (2016-04-28)
Our biggest news this week is that we got the
@ -2412,7 +2698,7 @@ in line with `npm@2`.
* [`95ee92c`](https://github.com/npm/npm/commit/95ee92c)
[#9433](https://github.com/npm/npm/issues/9433)
Give better error messages for invalid urls in the dependecy
Give better error messages for invalid URLs in the dependecy
list.
([@jamietre](https://github.com/jamietre))

36
deps/npm/appveyor.yml vendored Normal file
View File

@ -0,0 +1,36 @@
environment:
matrix:
# LTS is our most important target
- nodejs_version: "4"
# latest
- nodejs_version: "5"
# I like 0.10 better than 0.12
- nodejs_version: "0.10"
- nodejs_version: "0.12"
# EOL summer 2016, most likely
- nodejs_version: "0.8"
COVERALLS_REPO_TOKEN:
secure: XdC0aySefK0HLh1GNk6aKrzZPbCfPQLyA4mYtFGEp4DrTuZA/iuCUS0LDqFYO8JQ
platform:
- x86
- x64
install:
- ps: Install-Product node $env:nodejs_version $env:platform
- npm config set spin false
- npm rebuild
- node . install -g .
- set "PATH=%APPDATA%\npm;C:\Program Files\Git\mingw64\libexec;%PATH%"
- npm install --loglevel=http
test_script:
- node --version
- npm --version
- npm test
notifications:
- provider: Slack
incoming_webhook:
secure: vXiG5AgpqxJsXZ0N0CTYDuVrX6RMjBybZKtOx6IbRxCyjgd+DAx6Z9/0XgYQjuof7QFJY3M/U6HxaREQVYbNVHA+C5N5dNALRbKzAC8QNbA=
# GO_FAST
matrix:
fast_finish: true
# we don't need the builds, we just need tests
build: off

View File

@ -1,6 +1,5 @@
#!/usr/bin/env node
;(function () { // wrapper in case we're in module_context mode
// windows: running "npm blah" in this folder will invoke WSH, not node.
/*global WScript*/
if (typeof WScript !== 'undefined') {

View File

@ -654,10 +654,10 @@ field is advisory only will produce warnings when your package is installed as a
## engineStrict
**This feature was deprecated with npm 3.0.0**
**This feature was removed in npm 3.0.0**
Prior to npm 3.0.0, this feature was used to treat this package as if the
user had set `engine-strict`.
user had set `engine-strict`. It is no longer used.
## os
@ -731,10 +731,10 @@ npm will default some values based on package contents.
If there is a `server.js` file in the root of your package, then npm
will default the `start` command to `node server.js`.
* `"scripts":{"preinstall": "node-gyp rebuild"}`
* `"scripts":{"install": "node-gyp rebuild"}`
If there is a `binding.gyp` file in the root of your package, npm will
default the `preinstall` command to compile using node-gyp.
If there is a `binding.gyp` file in the root of your package and you have not defined an `install` or `preinstall` script, npm will
default the `install` command to compile using node-gyp.
* `"contributors": [...]`

View File

@ -71,7 +71,8 @@ npm will default some script values based on package contents.
* `"install": "node-gyp rebuild"`:
If there is a `binding.gyp` file in the root of your package, npm will
If there is a `binding.gyp` file in the root of your package and you
haven't defined your own `install` or `preinstall` scripts, npm will
default the `install` command to compile using node-gyp.
## USER

View File

@ -126,5 +126,5 @@ will no doubt tell you to put the output in a gist or email.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&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@3.8.9</p>
<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@3.9.3</p>

View File

@ -84,5 +84,5 @@ with an HTTP 402 status code (logically enough), unless you use
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&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@3.8.9</p>
<p id="footer">npm-access &mdash; npm@3.9.3</p>

View File

@ -72,5 +72,5 @@ over any global configuration.</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@3.8.9</p>
<p id="footer">npm-adduser &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-bin &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-bugs &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-build &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-bundle &mdash; npm@3.9.3</p>

View File

@ -81,5 +81,5 @@ they do not make an HTTP request to the registry.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&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@3.8.9</p>
<p id="footer">npm-cache &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-completion &mdash; npm@3.9.3</p>

View File

@ -67,5 +67,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@3.8.9</p>
<p id="footer">npm-config &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-dedupe &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-deprecate &mdash; npm@3.9.3</p>

View File

@ -87,5 +87,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@3.8.9</p>
<p id="footer">npm-dist-tag &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-docs &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-edit &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-explore &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-help-search &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-help &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-init &mdash; npm@3.9.3</p>

View File

@ -42,4 +42,4 @@ 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@3.8.9</p>
<p id="footer">npm-install-test &mdash; npm@3.9.3</p>

View File

@ -312,5 +312,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@3.8.9</p>
<p id="footer">npm-install &mdash; npm@3.9.3</p>

View File

@ -73,5 +73,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@3.8.9</p>
<p id="footer">npm-link &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-logout &mdash; npm@3.9.3</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@3.8.9 /path/to/npm
<pre><code>npm@3.9.3 /path/to/npm
└─┬ init-package-json@0.0.4
└── promzard@0.1.5
</code></pre><p>It will print out extraneous, missing, and invalid packages.</p>
@ -104,5 +104,5 @@ project.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&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@3.8.9</p>
<p id="footer">npm-ls &mdash; npm@3.9.3</p>

View File

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

View File

@ -51,5 +51,5 @@ that is not implemented at this time.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&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@3.8.9</p>
<p id="footer">npm-owner &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-pack &mdash; npm@3.9.3</p>

View File

@ -32,4 +32,4 @@
<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@3.8.9</p>
<p id="footer">npm-ping &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-prefix &mdash; npm@3.9.3</p>

View File

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

View File

@ -72,5 +72,5 @@ it is removed with <a href="../cli/npm-unpublish.html">npm-unpublish(1)</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-publish &mdash; npm@3.8.9</p>
<p id="footer">npm-publish &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-rebuild &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-repo &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-restart &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-root &mdash; npm@3.9.3</p>

View File

@ -63,5 +63,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@3.8.9</p>
<p id="footer">npm-run-script &mdash; npm@3.9.3</p>

View File

@ -57,5 +57,5 @@ Pass a different registry url such as the default above in order to override thi
<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@3.8.9</p>
<p id="footer">npm-search &mdash; npm@3.9.3</p>

View File

@ -169,5 +169,5 @@ contents rather than versions.</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-shrinkwrap &mdash; npm@3.8.9</p>
<p id="footer">npm-shrinkwrap &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-star &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-stars &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-start &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-stop &mdash; npm@3.9.3</p>

View File

@ -63,5 +63,5 @@ that do not 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-tag &mdash; npm@3.8.9</p>
<p id="footer">npm-tag &mdash; npm@3.9.3</p>

View File

@ -67,4 +67,4 @@ 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@3.8.9</p>
<p id="footer">npm-team &mdash; npm@3.9.3</p>

View File

@ -38,5 +38,5 @@ true.</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-test &mdash; npm@3.8.9</p>
<p id="footer">npm-test &mdash; npm@3.9.3</p>

View File

@ -60,5 +60,5 @@ npm uninstall dtrace-provider --save-optional
<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@3.8.9</p>
<p id="footer">npm-uninstall &mdash; npm@3.9.3</p>

View File

@ -47,5 +47,5 @@ package again, a new version number must be used.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&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@3.8.9</p>
<p id="footer">npm-unpublish &mdash; npm@3.9.3</p>

View File

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

View File

@ -100,5 +100,5 @@ and tag up to the server, and deletes the <code>build/temp</code> directory.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&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@3.8.9</p>
<p id="footer">npm-version &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-view &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">npm-whoami &mdash; npm@3.9.3</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>3.8.9</p>
<p>3.9.3</p>
<h2 id="description">DESCRIPTION</h2>
<p>npm is the package manager for the Node JavaScript platform. It puts
modules in place so that node can find them, and manages dependency
@ -126,7 +126,7 @@ will no doubt tell you to put the output in a gist or email.</p>
<p><a href="http://blog.izs.me/">Isaac Z. Schlueter</a> ::
<a href="https://github.com/isaacs/">isaacs</a> ::
<a href="http://twitter.com/izs">@izs</a> ::
<a href="&#x6d;&#97;&#105;&#108;&#116;&#x6f;&#x3a;&#105;&#64;&#105;&#x7a;&#x73;&#x2e;&#x6d;&#101;">&#105;&#64;&#105;&#x7a;&#x73;&#x2e;&#x6d;&#101;</a></p>
<a href="&#109;&#x61;&#x69;&#108;&#116;&#x6f;&#x3a;&#x69;&#64;&#105;&#122;&#115;&#x2e;&#x6d;&#101;">&#x69;&#64;&#105;&#122;&#115;&#x2e;&#x6d;&#101;</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@3.8.9</p>
<p id="footer">npm &mdash; npm@3.9.3</p>

View File

@ -182,5 +182,5 @@ cannot be found elsewhere. See <code><a href="../files/package.json.html">packa
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&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@3.8.9</p>
<p id="footer">npm-folders &mdash; npm@3.9.3</p>

View File

@ -182,5 +182,5 @@ cannot be found elsewhere. See <code><a href="../files/package.json.html">packa
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&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@3.8.9</p>
<p id="footer">npm-folders &mdash; npm@3.9.3</p>

View File

@ -494,9 +494,9 @@ are capable of properly installing your program. For example:</p>
</code></pre><p>Unless the user has set the <code>engine-strict</code> config flag, this
field is advisory only will produce warnings when your package is installed as a dependency.</p>
<h2 id="enginestrict">engineStrict</h2>
<p><strong>This feature was deprecated with npm 3.0.0</strong></p>
<p><strong>This feature was removed in npm 3.0.0</strong></p>
<p>Prior to npm 3.0.0, this feature was used to treat this package as if the
user had set <code>engine-strict</code>.</p>
user had set <code>engine-strict</code>. It is no longer used.</p>
<h2 id="os">os</h2>
<p>You can specify which operating systems your
module will run on:</p>
@ -544,9 +544,9 @@ overridden.</p>
<p>If there is a <code>server.js</code> file in the root of your package, then npm
will default the <code>start</code> command to <code>node server.js</code>.</p>
</li>
<li><p><code>&quot;scripts&quot;:{&quot;preinstall&quot;: &quot;node-gyp rebuild&quot;}</code></p>
<p>If there is a <code>binding.gyp</code> file in the root of your package, npm will
default the <code>preinstall</code> command to compile using node-gyp.</p>
<li><p><code>&quot;scripts&quot;:{&quot;install&quot;: &quot;node-gyp rebuild&quot;}</code></p>
<p>If there is a <code>binding.gyp</code> file in the root of your package and you have not defined an <code>install</code> or <code>preinstall</code> script, npm will
default the <code>install</code> command to compile using node-gyp.</p>
</li>
<li><p><code>&quot;contributors&quot;: [...]</code></p>
<p>If there is an <code>AUTHORS</code> file in the root of your package, npm will
@ -579,5 +579,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@3.8.9</p>
<p id="footer">package.json &mdash; npm@3.9.3</p>

View File

@ -83,5 +83,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@3.8.9</p>
<p id="footer">npmrc &mdash; npm@3.9.3</p>

View File

@ -494,9 +494,9 @@ are capable of properly installing your program. For example:</p>
</code></pre><p>Unless the user has set the <code>engine-strict</code> config flag, this
field is advisory only will produce warnings when your package is installed as a dependency.</p>
<h2 id="enginestrict">engineStrict</h2>
<p><strong>This feature was deprecated with npm 3.0.0</strong></p>
<p><strong>This feature was removed in npm 3.0.0</strong></p>
<p>Prior to npm 3.0.0, this feature was used to treat this package as if the
user had set <code>engine-strict</code>.</p>
user had set <code>engine-strict</code>. It is no longer used.</p>
<h2 id="os">os</h2>
<p>You can specify which operating systems your
module will run on:</p>
@ -544,9 +544,9 @@ overridden.</p>
<p>If there is a <code>server.js</code> file in the root of your package, then npm
will default the <code>start</code> command to <code>node server.js</code>.</p>
</li>
<li><p><code>&quot;scripts&quot;:{&quot;preinstall&quot;: &quot;node-gyp rebuild&quot;}</code></p>
<p>If there is a <code>binding.gyp</code> file in the root of your package, npm will
default the <code>preinstall</code> command to compile using node-gyp.</p>
<li><p><code>&quot;scripts&quot;:{&quot;install&quot;: &quot;node-gyp rebuild&quot;}</code></p>
<p>If there is a <code>binding.gyp</code> file in the root of your package and you have not defined an <code>install</code> or <code>preinstall</code> script, npm will
default the <code>install</code> command to compile using node-gyp.</p>
</li>
<li><p><code>&quot;contributors&quot;: [...]</code></p>
<p>If there is an <code>AUTHORS</code> file in the root of your package, npm will
@ -579,5 +579,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@3.8.9</p>
<p id="footer">package.json &mdash; npm@3.9.3</p>

View File

@ -162,5 +162,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@3.8.9</p>
<p id="footer">npm-index &mdash; npm@3.9.3</p>

View File

@ -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@3.8.9</p>
<p id="footer">npm-coding-style &mdash; npm@3.9.3</p>

View File

@ -862,5 +862,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@3.8.9</p>
<p id="footer">npm-config &mdash; npm@3.9.3</p>

View File

@ -194,5 +194,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@3.8.9</p>
<p id="footer">npm-developers &mdash; npm@3.9.3</p>

View File

@ -13,7 +13,7 @@
<h2 id="synopsis">SYNOPSIS</h2>
<ol>
<li>Get the author email with <code>npm owner ls &lt;pkgname&gt;</code></li>
<li>Email the author, CC <a href="&#109;&#x61;&#105;&#x6c;&#x74;&#111;&#x3a;&#115;&#x75;&#112;&#112;&#111;&#x72;&#116;&#64;&#110;&#x70;&#109;&#106;&#115;&#46;&#99;&#111;&#x6d;">&#115;&#x75;&#112;&#112;&#111;&#x72;&#116;&#64;&#110;&#x70;&#109;&#106;&#115;&#46;&#99;&#111;&#x6d;</a></li>
<li>Email the author, CC <a href="&#109;&#97;&#x69;&#108;&#x74;&#111;&#x3a;&#x73;&#117;&#112;&#x70;&#111;&#114;&#x74;&#x40;&#x6e;&#x70;&#109;&#x6a;&#115;&#x2e;&#99;&#x6f;&#109;">&#x73;&#117;&#112;&#x70;&#111;&#114;&#x74;&#x40;&#x6e;&#x70;&#109;&#x6a;&#115;&#x2e;&#99;&#x6f;&#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>
@ -51,12 +51,12 @@ Joe&#39;s appropriate course of action in each case is the same.</p>
owner (Bob).</li>
<li>Joe emails Bob, explaining the situation <strong>as respectfully as
possible</strong>, and what he would like to do with the module name. He
adds the npm support staff <a href="&#109;&#x61;&#x69;&#x6c;&#116;&#111;&#58;&#x73;&#x75;&#x70;&#x70;&#111;&#x72;&#x74;&#64;&#110;&#x70;&#109;&#106;&#x73;&#46;&#99;&#111;&#109;">&#x73;&#x75;&#x70;&#x70;&#111;&#x72;&#x74;&#64;&#110;&#x70;&#109;&#106;&#x73;&#46;&#99;&#111;&#109;</a> to the CC list of
adds the npm support staff <a href="&#109;&#x61;&#105;&#x6c;&#116;&#x6f;&#58;&#115;&#117;&#112;&#x70;&#x6f;&#114;&#116;&#x40;&#x6e;&#112;&#109;&#106;&#115;&#x2e;&#x63;&#x6f;&#109;">&#115;&#117;&#112;&#x70;&#x6f;&#114;&#116;&#x40;&#x6e;&#112;&#109;&#106;&#115;&#x2e;&#x63;&#x6f;&#109;</a> to the CC list of
the email. Mention in the email that Bob can run <code>npm owner add
joe foo</code> to add Joe as an owner of the <code>foo</code> package.</li>
<li>After a reasonable amount of time, if Bob has not responded, or if
Bob and Joe can&#39;t come to any sort of resolution, email support
<a href="&#x6d;&#97;&#105;&#108;&#x74;&#111;&#x3a;&#x73;&#x75;&#x70;&#x70;&#x6f;&#x72;&#x74;&#x40;&#x6e;&#x70;&#109;&#x6a;&#115;&#46;&#x63;&#x6f;&#x6d;">&#x73;&#x75;&#x70;&#x70;&#x6f;&#x72;&#x74;&#x40;&#x6e;&#x70;&#109;&#x6a;&#115;&#46;&#x63;&#x6f;&#x6d;</a> and we&#39;ll sort it out. (&quot;Reasonable&quot; is
<a href="&#109;&#97;&#x69;&#x6c;&#116;&#x6f;&#58;&#115;&#x75;&#x70;&#112;&#x6f;&#114;&#116;&#64;&#110;&#112;&#109;&#106;&#115;&#x2e;&#99;&#111;&#x6d;">&#115;&#x75;&#x70;&#112;&#x6f;&#114;&#116;&#64;&#110;&#112;&#109;&#106;&#115;&#x2e;&#99;&#111;&#x6d;</a> and we&#39;ll sort it out. (&quot;Reasonable&quot; is
usually at least 4 weeks, but extra time is allowed around common
holidays.)</li>
</ol>
@ -112,5 +112,5 @@ things into it.</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-disputes &mdash; npm@3.8.9</p>
<p id="footer">npm-disputes &mdash; npm@3.9.3</p>

View File

@ -162,4 +162,4 @@
<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@3.8.9</p>
<p id="footer">npm-index &mdash; npm@3.9.3</p>

View File

@ -86,4 +86,4 @@
<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@3.8.9</p>
<p id="footer">npm-orgs &mdash; npm@3.9.3</p>

View File

@ -70,5 +70,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@3.8.9</p>
<p id="footer">npm-registry &mdash; npm@3.9.3</p>

View File

@ -91,5 +91,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@3.8.9</p>
<p id="footer">npm-scope &mdash; npm@3.9.3</p>

View File

@ -74,7 +74,8 @@ other system tools on the target machines.</li>
will default the <code>start</code> command to <code>node server.js</code>.</p>
</li>
<li><p><code>&quot;install&quot;: &quot;node-gyp rebuild&quot;</code>:</p>
<p>If there is a <code>binding.gyp</code> file in the root of your package, npm will
<p>If there is a <code>binding.gyp</code> file in the root of your package and you
haven&#39;t defined your own <code>install</code> or <code>preinstall</code> scripts, npm will
default the <code>install</code> command to compile using node-gyp.</p>
</li>
</ul>
@ -207,5 +208,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@3.8.9</p>
<p id="footer">npm-scripts &mdash; npm@3.9.3</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@3.8.9</p>
<p id="footer">removing-npm &mdash; npm@3.9.3</p>

View File

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

View File

@ -35,7 +35,6 @@ access.completion = function (opts, cb) {
} else {
return cb(null, [])
}
break
case 'public':
case 'restricted':
case 'ls-packages':

View File

@ -443,7 +443,7 @@ function getResolved (uri, treeish) {
// Checks for known protocols:
// http:, https:, ssh:, and git:, with optional git+ prefix.
if (!parsed.protocol ||
!parsed.protocol.match(/^(((git\+)?(https?|ssh))|git|file):$/)) {
!parsed.protocol.match(/^(((git\+)?(https?|ssh|file))|git|file):$/)) {
uri = 'git+ssh://' + uri
}

View File

@ -75,6 +75,10 @@ function get (uri, params, cb) {
return get_.call(this, uri, cachePath, params, cb)
}
if (params.skipCache) {
return get_.call(this, uri, cachePath, params, cb)
}
var client = this
fs.stat(cachePath, function (er, stat) {
if (!er) {
@ -112,6 +116,8 @@ function get_ (uri, cachePath, params, cb) {
if (data._etag) etag = data._etag
if (data._lastModified) lastModified = data._lastModified
data._cached = true
if (stat && timeout && timeout > 0) {
if ((Date.now() - stat.mtime.getTime()) / 1000 < timeout) {
log.verbose('get', uri, 'not expired, no request')

View File

@ -1,4 +1,3 @@
module.exports = completion
completion.usage = 'source <(npm completion)'
@ -14,6 +13,7 @@ var configNames = Object.keys(configTypes)
var shorthandNames = Object.keys(shorthands)
var allConfs = configNames.concat(shorthandNames)
var once = require('once')
var isWindowsShell = require('./utils/is-windows-shell.js')
completion.completion = function (opts, cb) {
if (opts.w > 3) return cb()
@ -45,7 +45,7 @@ completion.completion = function (opts, cb) {
}
function completion (args, cb) {
if (process.platform === 'win32' && !(/^MINGW(32|64)$/.test(process.env.MSYSTEM))) {
if (isWindowsShell) {
var e = new Error('npm completion supported only in MINGW / Git bash on Windows')
e.code = 'ENOTSUP'
e.errno = require('constants').ENOTSUP

View File

@ -10,6 +10,7 @@ var ini = require('ini')
var Umask = configDefs.Umask
var mkdirp = require('mkdirp')
var umask = require('../utils/umask')
var isWindows = require('../utils/is-windows.js')
exports.load = load
exports.Conf = Conf
@ -391,7 +392,7 @@ function parseField (f, k) {
f = envReplace(f)
if (isPath) {
var homePattern = process.platform === 'win32' ? /^~(\/|\\)/ : /^~\//
var homePattern = isWindows ? /^~(\/|\\)/ : /^~\//
if (f.match(homePattern) && process.env.HOME) {
f = path.resolve(process.env.HOME, f.substr(2))
}

View File

@ -9,15 +9,30 @@ var npm = require('./npm.js')
var spawn = require('./utils/spawn')
var path = require('path')
var fs = require('graceful-fs')
var isWindowsShell = require('./utils/is-windows-shell.js')
var escapeExecPath = require('./utils/escape-exec-path.js')
var escapeArg = require('./utils/escape-arg.js')
function explore (args, cb) {
if (args.length < 1 || !args[0]) return cb(explore.usage)
var p = args.shift()
args = args.join(' ').trim()
if (args) args = ['-c', args]
else args = []
var cwd = path.resolve(npm.dir, p)
var opts = {cwd: cwd, stdio: 'inherit'}
var shellArgs = []
if (args) {
if (isWindowsShell) {
var execCmd = escapeExecPath(args.shift())
var execArgs = [execCmd].concat(args.map(escapeArg))
opts.windowsVerbatimArguments = true
shellArgs = ['/d', '/s', '/c'].concat(execArgs)
} else {
shellArgs.unshift('-c')
shellArgs = ['-c', args.map(escapeArg).join(' ').trim()]
}
}
var sh = npm.config.get('shell')
fs.stat(cwd, function (er, s) {
if (er || !s.isDirectory()) {
@ -26,17 +41,17 @@ function explore (args, cb) {
))
}
if (!args.length) {
if (!shellArgs.length) {
console.log(
'\nExploring ' + cwd + '\n' +
"Type 'exit' or ^D when finished\n"
)
}
var shell = spawn(sh, args, { cwd: cwd, stdio: 'inherit' })
var shell = spawn(sh, shellArgs, opts)
shell.on('close', function (er) {
// only fail if non-interactive.
if (!args.length) return cb()
if (!shellArgs.length) return cb()
cb(er)
})
})

View File

@ -63,26 +63,29 @@ module.exports = function fetchPackageMetadata (spec, where, tracker, done) {
fetchOtherPackageData(spec, dep, where, addRequestedAndFinish)
}
function addRequestedAndFinish (er, pkg) {
if (pkg) {
pkg._requested = dep
pkg._spec = spec
pkg._where = where
if (!pkg._args) pkg._args = []
pkg._args.push([pkg._spec, pkg._where])
// non-npm registries can and will return unnormalized data, plus
// even the npm registry may have package data normalized with older
// normalization rules. This ensures we get package data in a consistent,
// stable format.
try {
normalizePackageData(pkg)
} catch (ex) {
// don't care
}
}
if (pkg) annotateMetadata(pkg, dep, spec, where)
logAndFinish(er, pkg)
}
}
var annotateMetadata = module.exports.annotateMetadata = function (pkg, requested, spec, where) {
validate('OOSS', arguments)
pkg._requested = requested
pkg._spec = spec
pkg._where = where
if (!pkg._args) pkg._args = []
pkg._args.push([requested, where])
// non-npm registries can and will return unnormalized data, plus
// even the npm registry may have package data normalized with older
// normalization rules. This ensures we get package data in a consistent,
// stable format.
try {
normalizePackageData(pkg)
} catch (ex) {
// don't care
}
}
function fetchOtherPackageData (spec, dep, where, next) {
validate('SOSF', arguments)
log.silly('fetchOtherPackageData', spec)
@ -150,6 +153,16 @@ function fetchNamedPackageData (dep, next) {
}
}
// We didn't manage to find a compatible version
// If this package was requested from cache, force hitting the network
if (pkg._cached) {
log.silly('fetchNamedPackageData', 'No valid target from cache, forcing network')
return npm.registry.get(url, {
auth: auth,
skipCache: true
}, pulseTillDone('fetchMetadata', iferr(next, pickVersionFromRegistryDocument)))
}
// And failing that, we error out
var targets = versions.length
? 'Valid install targets:\n' + versions.join(', ') + '\n'

View File

@ -30,6 +30,11 @@ function andUpdatePackageJson (pkg, buildpath, next) {
function andStageBundledChildren (pkg, buildpath, log, next) {
var staging = path.resolve(buildpath, '..')
return iferr(next, function () {
for (var i = 0; i < pkg.children.length; ++i) {
var c = pkg.children[i]
if (!c.package.name) return next(c.error)
}
asyncMap(pkg.children, andStageBundledModule(pkg, staging, buildpath), cleanupBundled)
})
function cleanupBundled () {

View File

@ -31,30 +31,32 @@ var moduleName = require('../utils/module-name.js')
// The export functions in this module mutate a dependency tree, adding
// items to them.
function isDep (tree, child) {
if (child.fromShrinkwrap) return true
function isDep (tree, child, cb) {
var name = moduleName(child)
var requested = isProdDep(tree, name)
var matches
if (requested) matches = doesChildVersionMatch(child, requested, tree)
if (matches) return matches
requested = isDevDep(tree, name)
if (!requested) return
return doesChildVersionMatch(child, requested, tree)
var prodVer = isProdDep(tree, name)
var devVer = isDevDep(tree, name)
childDependencySpecifier(tree, name, prodVer, function (er, prodSpec) {
if (er) return cb(child.fromShrinkwrap)
var matches
if (prodSpec) matches = doesChildVersionMatch(child, prodSpec, tree)
if (matches) return cb(true, prodSpec)
if (devVer === prodVer) return cb(child.fromShrinkwrap)
childDependencySpecifier(tree, name, devVer, function (er, devSpec) {
if (er) return cb(child.fromShrinkwrap)
cb(doesChildVersionMatch(child, devSpec, tree) || child.fromShrinkwrap, null, devSpec)
})
})
}
function isDevDep (tree, name) {
function isDevDep (tree, name, cb) {
var devDeps = tree.package.devDependencies || {}
var reqVer = devDeps[name]
if (reqVer == null) return
return npa(name + '@' + reqVer)
return devDeps[name]
}
function isProdDep (tree, name) {
function isProdDep (tree, name, cb) {
var deps = tree.package.dependencies || {}
var reqVer = deps[name]
if (reqVer == null) return false
return npa(name + '@' + reqVer)
return deps[name]
}
var registryTypes = { range: true, version: true }
@ -80,6 +82,21 @@ exports.recalculateMetadata = function (tree, log, next) {
recalculateMetadata(tree, log, {}, next)
}
function childDependencySpecifier (tree, name, spec, cb) {
if (!tree.resolved) tree.resolved = {}
if (!tree.resolved[name]) tree.resolved[name] = {}
if (tree.resolved[name][spec]) {
return process.nextTick(function () {
cb(null, tree.resolved[name][spec])
})
}
realizePackageSpecifier(name + '@' + spec, packageRelativePath(tree), function (er, req) {
if (er) return cb(er)
tree.resolved[name][spec] = req
cb(null, req)
})
}
function recalculateMetadata (tree, log, seen, next) {
validate('OOOF', arguments)
if (seen[tree.path]) return next()
@ -87,7 +104,8 @@ function recalculateMetadata (tree, log, seen, next) {
if (tree.parent == null) resetMetadata(tree)
function markDeps (spec, done) {
validate('SF', arguments)
realizePackageSpecifier(spec, packageRelativePath(tree), function (er, req) {
var matched = spec.match(/^(@?[^@]+)@(.*)$/)
childDependencySpecifier(tree, matched[1], matched[2], function (er, req) {
if (er || !req.name) return done()
var child = findRequirement(tree, req.name, req)
if (child) {
@ -106,11 +124,26 @@ function recalculateMetadata (tree, log, seen, next) {
function specs (deps) {
return Object.keys(deps).map(function (depname) { return depname + '@' + deps[depname] })
}
// Ensure dependencies and dev dependencies are marked as required
var tomark = specs(tree.package.dependencies)
if (!tree.parent && (npm.config.get('dev') || !npm.config.get('production'))) {
tomark = union(tomark, specs(tree.package.devDependencies))
}
// Ensure any children ONLY from a shrinkwrap are also included
var childrenOnlyInShrinkwrap = tree.children.filter(function (child) {
return child.fromShrinkwrap &&
!tree.package.dependencies[child.package.name] &&
!tree.package.devDependencies[child.package.name]
})
var tomarkOnlyInShrinkwrap = childrenOnlyInShrinkwrap.map(function (child) {
return child.package._spec
})
tomark = union(tomark, tomarkOnlyInShrinkwrap)
// Don't bother trying to recalc children of failed deps
tree.children = tree.children.filter(function (child) { return !child.failed })
chain([
[asyncMap, tomark, markDeps],
[asyncMap, tree.children, function (child, done) { recalculateMetadata(child, log, seen, done) }]
@ -122,13 +155,15 @@ function recalculateMetadata (tree, log, seen, next) {
})
}
function addRequiredDep (tree, child) {
if (!isDep(tree, child)) return false
var name = isProdDep(tree, moduleName(child)) ? flatNameFromTree(tree) : '#DEV:' + flatNameFromTree(tree)
replaceModuleName(child.package, '_requiredBy', name)
replaceModule(child, 'requiredBy', tree)
replaceModule(tree, 'requires', child)
return true
function addRequiredDep (tree, child, cb) {
isDep(tree, child, function (childIsDep, childIsProdDep, childIsDevDep) {
if (!childIsDep) return cb(false)
var name = childIsProdDep ? flatNameFromTree(tree) : '#DEV:' + flatNameFromTree(tree)
replaceModuleName(child.package, '_requiredBy', name)
replaceModule(child, 'requiredBy', tree)
replaceModule(tree, 'requires', child)
cb(true)
})
}
exports._removeObsoleteDep = removeObsoleteDep
@ -207,10 +242,12 @@ exports.loadRequestedDeps = function (args, tree, saveToDependencies, log, next)
// For things the user asked to install, that aren't a dependency (or
// won't be when we're done), flag it as "depending" on the user
// themselves, so we don't remove it as a dep that no longer exists
if (!addRequiredDep(tree, child)) {
replaceModuleName(child.package, '_requiredBy', '#USER')
}
depLoaded(null, child, tracker)
addRequiredDep(tree, child, function (childIsDep) {
if (!childIsDep) {
replaceModuleName(child.package, '_requiredBy', '#USER')
}
depLoaded(null, child, tracker)
})
}))
}, andForEachChild(loadDeps, andFinishTracker(log, next)))
}
@ -382,8 +419,7 @@ exports.loadExtraneous.andResolveDeps = function (tree, log, next) {
function addDependency (name, versionSpec, tree, log, done) {
validate('SSOOF', arguments)
var next = andAddParentToErrors(tree, done)
var spec = name + '@' + versionSpec
realizePackageSpecifier(spec, packageRelativePath(tree), iferr(done, function (req) {
childDependencySpecifier(tree, name, versionSpec, iferr(done, function (req) {
var child = findRequirement(tree, name, req)
if (child) {
resolveWithExistingModule(child, tree, log, iferr(next, function (child, log) {
@ -401,11 +437,10 @@ function addDependency (name, versionSpec, tree, log, done) {
function resolveWithExistingModule (child, tree, log, next) {
validate('OOOF', arguments)
addRequiredDep(tree, child)
if (tree.parent && child.parent !== tree) updatePhantomChildren(tree.parent, child)
next(null, child, log)
addRequiredDep(tree, child, function () {
if (tree.parent && child.parent !== tree) updatePhantomChildren(tree.parent, child)
next(null, child, log)
})
}
var updatePhantomChildren = exports.updatePhantomChildren = function (current, child) {
@ -482,22 +517,23 @@ function resolveWithNewModule (pkg, tree, log, next) {
var replaced = replaceModule(parent, 'children', child)
if (replaced) removeObsoleteDep(replaced)
addRequiredDep(tree, child)
pkg._location = flatNameFromTree(child)
addRequiredDep(tree, child, function () {
pkg._location = flatNameFromTree(child)
if (tree.parent && parent !== tree) updatePhantomChildren(tree.parent, child)
if (tree.parent && parent !== tree) updatePhantomChildren(tree.parent, child)
if (pkg._bundled) {
inflateBundled(child, child.children)
}
if (pkg._bundled) {
inflateBundled(child, child.children)
}
if (pkg._shrinkwrap && pkg._shrinkwrap.dependencies) {
return inflateShrinkwrap(child, pkg._shrinkwrap.dependencies, function (er) {
next(er, child, log)
})
}
if (pkg._shrinkwrap && pkg._shrinkwrap.dependencies) {
return inflateShrinkwrap(child, pkg._shrinkwrap.dependencies, function (er) {
next(er, child, log)
})
}
next(null, child, log)
next(null, child, log)
})
}))
}))
}

View File

@ -3,7 +3,9 @@ var url = require('url')
var asyncMap = require('slide').asyncMap
var validate = require('aproba')
var iferr = require('iferr')
var realizePackageSpecifier = require('realize-package-specifier')
var fetchPackageMetadata = require('../fetch-package-metadata.js')
var annotateMetadata = require('../fetch-package-metadata.js').annotateMetadata
var addShrinkwrap = require('../fetch-package-metadata.js').addShrinkwrap
var addBundled = require('../fetch-package-metadata.js').addBundled
var inflateBundled = require('./inflate-bundled.js')
@ -32,7 +34,11 @@ var inflateShrinkwrap = module.exports = function (tree, swdeps, finishInflating
child.package.version === sw.version)) {
if (!child.fromShrinkwrap) child.fromShrinkwrap = spec
tree.children.push(child)
return next()
return realizePackageSpecifier(spec, tree.path, iferr(next, function (requested) {
annotateMetadata(child.package, requested, spec, tree.path)
return inflateShrinkwrap(child, sw.dependencies || {}, next)
}))
}
fetchPackageMetadata(spec, tree.path, iferr(next, function (pkg) {
pkg._from = sw.from || spec

11
deps/npm/lib/ls.js vendored
View File

@ -62,7 +62,11 @@ var lsFromTree = ls.fromTree = function (dir, physicalTree, args, silent, cb) {
args = args.map(function (a) {
var p = npa(a)
var name = p.name
var ver = semver.validRange(p.rawSpec) || ''
// When version spec is missing, we'll skip using it when filtering.
// Otherwise, `semver.validRange` would return '*', which won't
// match prerelease versions.
var ver = (p.rawSpec &&
(semver.validRange(p.rawSpec) || ''))
return [ name, ver, a ]
})
}
@ -292,8 +296,11 @@ function filterFound (root, args) {
var argName = args[ii][0]
var argVersion = args[ii][1]
var argRaw = args[ii][2]
if (depName === argName) {
if (depName === argName && argVersion) {
found = semver.satisfies(dep.version, argVersion, true)
} else if (depName === argName) {
// If version is missing from arg, just do a name match.
found = true
} else if (dep.path === argRaw) {
found = true
}

10
deps/npm/lib/npm.js vendored
View File

@ -87,7 +87,7 @@
npm.command = c
if (commandCache[a]) return commandCache[a]
var cmd = require(__dirname + '/' + a + '.js')
var cmd = require(path.join(__dirname, a + '.js'))
commandCache[a] = function () {
var args = Array.prototype.slice.call(arguments, 0)
@ -96,6 +96,14 @@
}
if (args.length === 1) args.unshift([])
// Options are prefixed by a hyphen-minus (-, \u2d).
// Other dash-type chars look similar but are invalid.
Array(args[0]).forEach(function (arg) {
if (/^[\u2010-\u2015\u2212\uFE58\uFE63\uFF0D]/.test(arg)) {
log.error('arg', 'Argument starts with non-ascii dash, this is probably invalid:', arg)
}
})
npm.registry.version = npm.version
if (!npm.registry.refer) {
npm.registry.refer = [a].concat(args[0]).map(function (arg) {

View File

@ -59,7 +59,7 @@ function rmStuff (pkg, folder, cb) {
// if it's global, and folder is in {prefix}/node_modules,
// then bins are in {prefix}/bin
// otherwise, then bins are in folder/../.bin
var parent = path.dirname(folder)
var parent = pkg.name[0] === '@' ? path.dirname(path.dirname(folder)) : path.dirname(folder)
var gnm = npm.dir
var top = gnm === parent

View File

@ -1,7 +1,6 @@
module.exports = fileCompletion
var mkdir = require('mkdirp')
var path = require('path')
var glob = require('glob')
function fileCompletion (root, req, depth, cb) {
@ -18,8 +17,7 @@ function fileCompletion (root, req, depth, cb) {
glob(pattern, opts, function (er, files) {
if (er) return cb(er)
return cb(null, (files || []).map(function (f) {
var tail = f.substr(root.length + 1).replace(/^\//, '')
return path.join(req, tail)
return f.substr(root.length + 1).replace(/^\/|\/$/g, '')
}))
})
})

View File

@ -78,9 +78,11 @@ function exit (code, noLog) {
}
})
rollbacks.length = 0
} else if (code && !noLog) {
writeLogFile(reallyExit)
} else {
rm('npm-debug.log', reallyExit)
}
else if (code && !noLog) writeLogFile(reallyExit)
else rm('npm-debug.log', reallyExit)
function reallyExit (er) {
if (er && !code) code = typeof er.errno === 'number' ? er.errno : 1

27
deps/npm/lib/utils/escape-arg.js vendored Normal file
View File

@ -0,0 +1,27 @@
'use strict'
var path = require('path')
var isWindowsShell = require('./is-windows-shell.js')
/*
Escape the name of an executable suitable for passing to the system shell.
Windows is easy, wrap in double quotes and you're done, as there's no
facility to create files with quotes in their names.
Unix-likes are a little more complicated, wrap in single quotes and escape
any single quotes in the filename.
*/
module.exports = escapify
function escapify (str) {
if (isWindowsShell) {
return '"' + path.normalize(str) + '"'
} else {
if (/[^-_.~/\w]/.test(str)) {
return "'" + str.replace(/'/g, "'\"'\"'") + "'"
} else {
return str
}
}
}

30
deps/npm/lib/utils/escape-exec-path.js vendored Normal file
View File

@ -0,0 +1,30 @@
'use strict'
var path = require('path')
var isWindowsShell = require('./is-windows-shell.js')
/*
Escape the name of an executable suitable for passing to the system shell.
Windows is easy, wrap in double quotes and you're done, as there's no
facility to create files with quotes in their names.
Unix-likes are a little more complicated, wrap in single quotes and escape
any single quotes in the filename.
*/
module.exports = escapify
function windowsQuotes (str) {
if (!/ /.test(str)) return str
return '"' + str + '"'
}
function escapify (str) {
if (isWindowsShell) {
return path.normalize(str).split(/\\/).map(windowsQuotes).join('\\')
} else if (/[^-_.~/\w]/.test(str)) {
return "'" + str.replace(/'/g, "'\"'\"'") + "'"
} else {
return str
}
}

View File

@ -32,14 +32,10 @@ function chainableExec () {
return [execGit].concat(args)
}
function whichGit (cb) {
return which(git, cb)
}
function whichAndExec (args, options, cb) {
assert.equal(typeof cb, 'function', 'no callback provided')
// check for git
whichGit(function (err) {
which(git, function (err) {
if (err) {
err.code = 'ENOGIT'
return cb(err)

3
deps/npm/lib/utils/is-windows-bash.js vendored Normal file
View File

@ -0,0 +1,3 @@
'use strict'
var isWindows = require('./is-windows.js')
module.exports = isWindows && /^MINGW(32|64)$/.test(process.env.MSYSTEM)

View File

@ -0,0 +1,4 @@
'use strict'
var isWindows = require('./is-windows.js')
var isWindowsBash = require('./is-windows-bash.js')
module.exports = isWindows && !isWindowsBash

2
deps/npm/lib/utils/is-windows.js vendored Normal file
View File

@ -0,0 +1,2 @@
'use strict'
module.exports = process.platform === 'win32'

View File

@ -293,8 +293,10 @@ function makeEnv (data, prefix, env) {
prefix = prefix || 'npm_package_'
if (!env) {
env = {}
for (var i in process.env) if (!i.match(/^npm_/)) {
env[i] = process.env[i]
for (var i in process.env) {
if (!i.match(/^npm_/)) {
env[i] = process.env[i]
}
}
// npat asks for tap output
@ -311,31 +313,33 @@ function makeEnv (data, prefix, env) {
)
}
for (i in data) if (i.charAt(0) !== '_') {
var envKey = (prefix + i).replace(/[^a-zA-Z0-9_]/g, '_')
if (i === 'readme') {
continue
}
if (data[i] && typeof data[i] === 'object') {
try {
// quick and dirty detection for cyclical structures
JSON.stringify(data[i])
makeEnv(data[i], envKey + '_', env)
} catch (ex) {
// usually these are package objects.
// just get the path and basic details.
var d = data[i]
makeEnv(
{ name: d.name, version: d.version, path: d.path },
envKey + '_',
env
)
for (i in data) {
if (i.charAt(0) !== '_') {
var envKey = (prefix + i).replace(/[^a-zA-Z0-9_]/g, '_')
if (i === 'readme') {
continue
}
if (data[i] && typeof data[i] === 'object') {
try {
// quick and dirty detection for cyclical structures
JSON.stringify(data[i])
makeEnv(data[i], envKey + '_', env)
} catch (ex) {
// usually these are package objects.
// just get the path and basic details.
var d = data[i]
makeEnv(
{ name: d.name, version: d.version, path: d.path },
envKey + '_',
env
)
}
} else {
env[envKey] = String(data[i])
env[envKey] = env[envKey].indexOf('\n') !== -1
? JSON.stringify(env[envKey])
: env[envKey]
}
} else {
env[envKey] = String(data[i])
env[envKey] = env[envKey].indexOf('\n') !== -1
? JSON.stringify(env[envKey])
: env[envKey]
}
}

View File

@ -55,19 +55,15 @@ function link (from, to, gently, abs, cb) {
if (npm.config.get('force')) gently = false
to = path.resolve(to)
var target = from = path.resolve(from)
if (!abs && process.platform !== 'win32') {
// junctions on windows must be absolute
target = path.relative(path.dirname(to), from)
// if there is no folder in common, then it will be much
// longer, and using a relative link is dumb.
if (target.length >= from.length) target = from
}
var toDir = path.dirname(to)
var absTarget = path.resolve(toDir, from)
var relativeTarget = path.relative(toDir, absTarget)
var target = abs ? absTarget : relativeTarget
chain(
[
[ensureFromIsNotSource, from, to],
[fs, 'stat', from],
[ensureFromIsNotSource, absTarget, to],
[fs, 'stat', absTarget],
[rm, to, gently],
[mkdir, path.dirname(to)],
[fs, 'symlink', target, to, 'junction']

View File

@ -11,7 +11,7 @@ function pathToPackageName (dir) {
if (dir === '') return ''
var name = path.relative(path.resolve(dir, '..'), dir)
var scoped = path.relative(path.resolve(dir, '../..'), dir)
if (scoped[0] === '@') return scoped
if (scoped[0] === '@') return scoped.replace(/\\/g, '/')
return name
}

View File

@ -22,7 +22,7 @@ For example, running \fBnpm ls promzard\fP in npm's source tree will show:
.P
.RS 2
.nf
npm@3.8.9 /path/to/npm
npm@3.9.3 /path/to/npm
└─┬ init\-package\-json@0\.0\.4
└── promzard@0\.1\.5
.fi

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