Browse Source

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>
v6.x
Kat Marchán 9 years ago
committed by Rod Vagg
parent
commit
ded02b909f
  1. 2
      deps/npm/AUTHORS
  2. 288
      deps/npm/CHANGELOG.md
  3. 36
      deps/npm/appveyor.yml
  4. 1
      deps/npm/bin/npm-cli.js
  5. 10
      deps/npm/doc/files/package.json.md
  6. 3
      deps/npm/doc/misc/npm-scripts.md
  7. 2
      deps/npm/html/doc/README.html
  8. 2
      deps/npm/html/doc/cli/npm-access.html
  9. 2
      deps/npm/html/doc/cli/npm-adduser.html
  10. 2
      deps/npm/html/doc/cli/npm-bin.html
  11. 2
      deps/npm/html/doc/cli/npm-bugs.html
  12. 2
      deps/npm/html/doc/cli/npm-build.html
  13. 2
      deps/npm/html/doc/cli/npm-bundle.html
  14. 2
      deps/npm/html/doc/cli/npm-cache.html
  15. 2
      deps/npm/html/doc/cli/npm-completion.html
  16. 2
      deps/npm/html/doc/cli/npm-config.html
  17. 2
      deps/npm/html/doc/cli/npm-dedupe.html
  18. 2
      deps/npm/html/doc/cli/npm-deprecate.html
  19. 2
      deps/npm/html/doc/cli/npm-dist-tag.html
  20. 2
      deps/npm/html/doc/cli/npm-docs.html
  21. 2
      deps/npm/html/doc/cli/npm-edit.html
  22. 2
      deps/npm/html/doc/cli/npm-explore.html
  23. 2
      deps/npm/html/doc/cli/npm-help-search.html
  24. 2
      deps/npm/html/doc/cli/npm-help.html
  25. 2
      deps/npm/html/doc/cli/npm-init.html
  26. 2
      deps/npm/html/doc/cli/npm-install-test.html
  27. 2
      deps/npm/html/doc/cli/npm-install.html
  28. 2
      deps/npm/html/doc/cli/npm-link.html
  29. 2
      deps/npm/html/doc/cli/npm-logout.html
  30. 4
      deps/npm/html/doc/cli/npm-ls.html
  31. 2
      deps/npm/html/doc/cli/npm-outdated.html
  32. 2
      deps/npm/html/doc/cli/npm-owner.html
  33. 2
      deps/npm/html/doc/cli/npm-pack.html
  34. 2
      deps/npm/html/doc/cli/npm-ping.html
  35. 2
      deps/npm/html/doc/cli/npm-prefix.html
  36. 2
      deps/npm/html/doc/cli/npm-prune.html
  37. 2
      deps/npm/html/doc/cli/npm-publish.html
  38. 2
      deps/npm/html/doc/cli/npm-rebuild.html
  39. 2
      deps/npm/html/doc/cli/npm-repo.html
  40. 2
      deps/npm/html/doc/cli/npm-restart.html
  41. 2
      deps/npm/html/doc/cli/npm-root.html
  42. 2
      deps/npm/html/doc/cli/npm-run-script.html
  43. 2
      deps/npm/html/doc/cli/npm-search.html
  44. 2
      deps/npm/html/doc/cli/npm-shrinkwrap.html
  45. 2
      deps/npm/html/doc/cli/npm-star.html
  46. 2
      deps/npm/html/doc/cli/npm-stars.html
  47. 2
      deps/npm/html/doc/cli/npm-start.html
  48. 2
      deps/npm/html/doc/cli/npm-stop.html
  49. 2
      deps/npm/html/doc/cli/npm-tag.html
  50. 2
      deps/npm/html/doc/cli/npm-team.html
  51. 2
      deps/npm/html/doc/cli/npm-test.html
  52. 2
      deps/npm/html/doc/cli/npm-uninstall.html
  53. 2
      deps/npm/html/doc/cli/npm-unpublish.html
  54. 2
      deps/npm/html/doc/cli/npm-update.html
  55. 2
      deps/npm/html/doc/cli/npm-version.html
  56. 2
      deps/npm/html/doc/cli/npm-view.html
  57. 2
      deps/npm/html/doc/cli/npm-whoami.html
  58. 6
      deps/npm/html/doc/cli/npm.html
  59. 2
      deps/npm/html/doc/files/npm-folders.html
  60. 2
      deps/npm/html/doc/files/npm-global.html
  61. 12
      deps/npm/html/doc/files/npm-json.html
  62. 2
      deps/npm/html/doc/files/npmrc.html
  63. 12
      deps/npm/html/doc/files/package.json.html
  64. 2
      deps/npm/html/doc/index.html
  65. 2
      deps/npm/html/doc/misc/npm-coding-style.html
  66. 2
      deps/npm/html/doc/misc/npm-config.html
  67. 2
      deps/npm/html/doc/misc/npm-developers.html
  68. 8
      deps/npm/html/doc/misc/npm-disputes.html
  69. 2
      deps/npm/html/doc/misc/npm-index.html
  70. 2
      deps/npm/html/doc/misc/npm-orgs.html
  71. 2
      deps/npm/html/doc/misc/npm-registry.html
  72. 2
      deps/npm/html/doc/misc/npm-scope.html
  73. 5
      deps/npm/html/doc/misc/npm-scripts.html
  74. 2
      deps/npm/html/doc/misc/removing-npm.html
  75. 2
      deps/npm/html/doc/misc/semver.html
  76. 1
      deps/npm/lib/access.js
  77. 2
      deps/npm/lib/cache/add-remote-git.js
  78. 6
      deps/npm/lib/cache/caching-client.js
  79. 4
      deps/npm/lib/completion.js
  80. 3
      deps/npm/lib/config/core.js
  81. 27
      deps/npm/lib/explore.js
  82. 45
      deps/npm/lib/fetch-package-metadata.js
  83. 5
      deps/npm/lib/install/action/extract.js
  84. 132
      deps/npm/lib/install/deps.js
  85. 8
      deps/npm/lib/install/inflate-shrinkwrap.js
  86. 11
      deps/npm/lib/ls.js
  87. 10
      deps/npm/lib/npm.js
  88. 2
      deps/npm/lib/unbuild.js
  89. 4
      deps/npm/lib/utils/completion/file-completion.js
  90. 6
      deps/npm/lib/utils/error-handler.js
  91. 27
      deps/npm/lib/utils/escape-arg.js
  92. 30
      deps/npm/lib/utils/escape-exec-path.js
  93. 6
      deps/npm/lib/utils/git.js
  94. 3
      deps/npm/lib/utils/is-windows-bash.js
  95. 4
      deps/npm/lib/utils/is-windows-shell.js
  96. 2
      deps/npm/lib/utils/is-windows.js
  97. 56
      deps/npm/lib/utils/lifecycle.js
  98. 16
      deps/npm/lib/utils/link.js
  99. 2
      deps/npm/lib/utils/module-name.js
  100. 2
      deps/npm/man/man1/npm-ls.1

2
deps/npm/AUTHORS

@ -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

@ -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

@ -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

1
deps/npm/bin/npm-cli.js

@ -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') {

10
deps/npm/doc/files/package.json.md

@ -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": [...]`

3
deps/npm/doc/misc/npm-scripts.md

@ -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

2
deps/npm/html/doc/README.html

@ -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>

2
deps/npm/html/doc/cli/npm-access.html

@ -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>

2
deps/npm/html/doc/cli/npm-adduser.html

@ -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>

2
deps/npm/html/doc/cli/npm-bin.html

@ -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>

2
deps/npm/html/doc/cli/npm-bugs.html

@ -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>

2
deps/npm/html/doc/cli/npm-build.html

@ -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>

2
deps/npm/html/doc/cli/npm-bundle.html

@ -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>

2
deps/npm/html/doc/cli/npm-cache.html

@ -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>

2
deps/npm/html/doc/cli/npm-completion.html

@ -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>

2
deps/npm/html/doc/cli/npm-config.html

@ -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>

2
deps/npm/html/doc/cli/npm-dedupe.html

@ -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>

2
deps/npm/html/doc/cli/npm-deprecate.html

@ -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>

2
deps/npm/html/doc/cli/npm-dist-tag.html

@ -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>

2
deps/npm/html/doc/cli/npm-docs.html

@ -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>

2
deps/npm/html/doc/cli/npm-edit.html

@ -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>

2
deps/npm/html/doc/cli/npm-explore.html

@ -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>

2
deps/npm/html/doc/cli/npm-help-search.html

@ -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>

2
deps/npm/html/doc/cli/npm-help.html

@ -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>

2
deps/npm/html/doc/cli/npm-init.html

@ -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>

2
deps/npm/html/doc/cli/npm-install-test.html

@ -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>

2
deps/npm/html/doc/cli/npm-install.html

@ -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>

2
deps/npm/html/doc/cli/npm-link.html

@ -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>

2
deps/npm/html/doc/cli/npm-logout.html

@ -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>

4
deps/npm/html/doc/cli/npm-ls.html

@ -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>

2
deps/npm/html/doc/cli/npm-outdated.html

@ -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>

2
deps/npm/html/doc/cli/npm-owner.html

@ -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>

2
deps/npm/html/doc/cli/npm-pack.html

@ -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>

2
deps/npm/html/doc/cli/npm-ping.html

@ -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>

2
deps/npm/html/doc/cli/npm-prefix.html

@ -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>

2
deps/npm/html/doc/cli/npm-prune.html

@ -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>

2
deps/npm/html/doc/cli/npm-publish.html

@ -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>

2
deps/npm/html/doc/cli/npm-rebuild.html

@ -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>

2
deps/npm/html/doc/cli/npm-repo.html

@ -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>

2
deps/npm/html/doc/cli/npm-restart.html

@ -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>

2
deps/npm/html/doc/cli/npm-root.html

@ -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>

2
deps/npm/html/doc/cli/npm-run-script.html

@ -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>

2
deps/npm/html/doc/cli/npm-search.html

@ -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>

2
deps/npm/html/doc/cli/npm-shrinkwrap.html

@ -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>

2
deps/npm/html/doc/cli/npm-star.html

@ -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>

2
deps/npm/html/doc/cli/npm-stars.html

@ -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>

2
deps/npm/html/doc/cli/npm-start.html

@ -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>

2
deps/npm/html/doc/cli/npm-stop.html

@ -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>

2
deps/npm/html/doc/cli/npm-tag.html

@ -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>

2
deps/npm/html/doc/cli/npm-team.html

@ -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>

2
deps/npm/html/doc/cli/npm-test.html

@ -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>

2
deps/npm/html/doc/cli/npm-uninstall.html

@ -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>

2
deps/npm/html/doc/cli/npm-unpublish.html

@ -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>

2
deps/npm/html/doc/cli/npm-update.html

@ -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>

2
deps/npm/html/doc/cli/npm-version.html

@ -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>

2
deps/npm/html/doc/cli/npm-view.html

@ -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>

2
deps/npm/html/doc/cli/npm-whoami.html

@ -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>

6
deps/npm/html/doc/cli/npm.html

@ -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>

2
deps/npm/html/doc/files/npm-folders.html

@ -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>

2
deps/npm/html/doc/files/npm-global.html

@ -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>

12
deps/npm/html/doc/files/npm-json.html

@ -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>

2
deps/npm/html/doc/files/npmrc.html

@ -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>

12
deps/npm/html/doc/files/package.json.html

@ -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>

2
deps/npm/html/doc/index.html

@ -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>

2
deps/npm/html/doc/misc/npm-coding-style.html

@ -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>

2
deps/npm/html/doc/misc/npm-config.html

@ -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>

2
deps/npm/html/doc/misc/npm-developers.html

@ -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>

8
deps/npm/html/doc/misc/npm-disputes.html

@ -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>

2
deps/npm/html/doc/misc/npm-index.html

@ -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>

2
deps/npm/html/doc/misc/npm-orgs.html

@ -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>

2
deps/npm/html/doc/misc/npm-registry.html

@ -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>

2
deps/npm/html/doc/misc/npm-scope.html

@ -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>

5
deps/npm/html/doc/misc/npm-scripts.html

@ -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>

2
deps/npm/html/doc/misc/removing-npm.html

@ -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>

2
deps/npm/html/doc/misc/semver.html

@ -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>

1
deps/npm/lib/access.js

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

2
deps/npm/lib/cache/add-remote-git.js

@ -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
}

6
deps/npm/lib/cache/caching-client.js

@ -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')

4
deps/npm/lib/completion.js

@ -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

3
deps/npm/lib/config/core.js

@ -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))
}

27
deps/npm/lib/explore.js

@ -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)
})
})

45
deps/npm/lib/fetch-package-metadata.js

@ -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'

5
deps/npm/lib/install/action/extract.js

@ -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 () {

132
deps/npm/lib/install/deps.js

@ -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)
})
}))
}))
}

8
deps/npm/lib/install/inflate-shrinkwrap.js

@ -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

@ -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

@ -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) {

2
deps/npm/lib/unbuild.js

@ -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

4
deps/npm/lib/utils/completion/file-completion.js

@ -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, '')
}))
})
})

6
deps/npm/lib/utils/error-handler.js

@ -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

@ -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

@ -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
}
}

6
deps/npm/lib/utils/git.js

@ -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

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

4
deps/npm/lib/utils/is-windows-shell.js

@ -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

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

56
deps/npm/lib/utils/lifecycle.js

@ -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]
}
}

16
deps/npm/lib/utils/link.js

@ -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']

2
deps/npm/lib/utils/module-name.js

@ -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
}

2
deps/npm/man/man1/npm-ls.1

@ -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 changed in this diff

Loading…
Cancel
Save