Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--deps/npm/.travis.yml5
-rw-r--r--deps/npm/Makefile1
-rw-r--r--deps/npm/README.md6
-rw-r--r--deps/npm/doc/api/npm.md2
-rw-r--r--deps/npm/doc/cli/npm-install.md3
-rw-r--r--deps/npm/doc/cli/npm-run-script.md6
-rw-r--r--deps/npm/doc/files/package.json.md35
-rw-r--r--deps/npm/doc/misc/npm-config.md13
-rw-r--r--deps/npm/doc/misc/npm-faq.md2
-rw-r--r--deps/npm/html/doc/README.html10
-rw-r--r--deps/npm/html/doc/api/npm-bin.html3
-rw-r--r--deps/npm/html/doc/api/npm-bugs.html3
-rw-r--r--deps/npm/html/doc/api/npm-commands.html3
-rw-r--r--deps/npm/html/doc/api/npm-config.html3
-rw-r--r--deps/npm/html/doc/api/npm-deprecate.html3
-rw-r--r--deps/npm/html/doc/api/npm-docs.html3
-rw-r--r--deps/npm/html/doc/api/npm-edit.html3
-rw-r--r--deps/npm/html/doc/api/npm-explore.html3
-rw-r--r--deps/npm/html/doc/api/npm-help-search.html3
-rw-r--r--deps/npm/html/doc/api/npm-init.html3
-rw-r--r--deps/npm/html/doc/api/npm-install.html3
-rw-r--r--deps/npm/html/doc/api/npm-link.html3
-rw-r--r--deps/npm/html/doc/api/npm-load.html3
-rw-r--r--deps/npm/html/doc/api/npm-ls.html3
-rw-r--r--deps/npm/html/doc/api/npm-outdated.html3
-rw-r--r--deps/npm/html/doc/api/npm-owner.html3
-rw-r--r--deps/npm/html/doc/api/npm-pack.html3
-rw-r--r--deps/npm/html/doc/api/npm-prefix.html3
-rw-r--r--deps/npm/html/doc/api/npm-prune.html3
-rw-r--r--deps/npm/html/doc/api/npm-publish.html3
-rw-r--r--deps/npm/html/doc/api/npm-rebuild.html3
-rw-r--r--deps/npm/html/doc/api/npm-repo.html3
-rw-r--r--deps/npm/html/doc/api/npm-restart.html3
-rw-r--r--deps/npm/html/doc/api/npm-root.html3
-rw-r--r--deps/npm/html/doc/api/npm-run-script.html3
-rw-r--r--deps/npm/html/doc/api/npm-search.html3
-rw-r--r--deps/npm/html/doc/api/npm-shrinkwrap.html3
-rw-r--r--deps/npm/html/doc/api/npm-start.html3
-rw-r--r--deps/npm/html/doc/api/npm-stop.html3
-rw-r--r--deps/npm/html/doc/api/npm-submodule.html3
-rw-r--r--deps/npm/html/doc/api/npm-tag.html3
-rw-r--r--deps/npm/html/doc/api/npm-test.html3
-rw-r--r--deps/npm/html/doc/api/npm-uninstall.html3
-rw-r--r--deps/npm/html/doc/api/npm-unpublish.html3
-rw-r--r--deps/npm/html/doc/api/npm-update.html3
-rw-r--r--deps/npm/html/doc/api/npm-version.html3
-rw-r--r--deps/npm/html/doc/api/npm-view.html3
-rw-r--r--deps/npm/html/doc/api/npm-whoami.html3
-rw-r--r--deps/npm/html/doc/api/npm.html7
-rw-r--r--deps/npm/html/doc/cli/npm-adduser.html3
-rw-r--r--deps/npm/html/doc/cli/npm-bin.html3
-rw-r--r--deps/npm/html/doc/cli/npm-bugs.html3
-rw-r--r--deps/npm/html/doc/cli/npm-build.html3
-rw-r--r--deps/npm/html/doc/cli/npm-bundle.html3
-rw-r--r--deps/npm/html/doc/cli/npm-cache.html3
-rw-r--r--deps/npm/html/doc/cli/npm-completion.html3
-rw-r--r--deps/npm/html/doc/cli/npm-config.html3
-rw-r--r--deps/npm/html/doc/cli/npm-dedupe.html3
-rw-r--r--deps/npm/html/doc/cli/npm-deprecate.html3
-rw-r--r--deps/npm/html/doc/cli/npm-docs.html3
-rw-r--r--deps/npm/html/doc/cli/npm-edit.html3
-rw-r--r--deps/npm/html/doc/cli/npm-explore.html3
-rw-r--r--deps/npm/html/doc/cli/npm-help-search.html3
-rw-r--r--deps/npm/html/doc/cli/npm-help.html3
-rw-r--r--deps/npm/html/doc/cli/npm-init.html3
-rw-r--r--deps/npm/html/doc/cli/npm-install.html7
-rw-r--r--deps/npm/html/doc/cli/npm-link.html3
-rw-r--r--deps/npm/html/doc/cli/npm-ls.html5
-rw-r--r--deps/npm/html/doc/cli/npm-outdated.html3
-rw-r--r--deps/npm/html/doc/cli/npm-owner.html3
-rw-r--r--deps/npm/html/doc/cli/npm-pack.html3
-rw-r--r--deps/npm/html/doc/cli/npm-prefix.html3
-rw-r--r--deps/npm/html/doc/cli/npm-prune.html3
-rw-r--r--deps/npm/html/doc/cli/npm-publish.html3
-rw-r--r--deps/npm/html/doc/cli/npm-rebuild.html3
-rw-r--r--deps/npm/html/doc/cli/npm-repo.html3
-rw-r--r--deps/npm/html/doc/cli/npm-restart.html3
-rw-r--r--deps/npm/html/doc/cli/npm-rm.html3
-rw-r--r--deps/npm/html/doc/cli/npm-root.html3
-rw-r--r--deps/npm/html/doc/cli/npm-run-script.html9
-rw-r--r--deps/npm/html/doc/cli/npm-search.html3
-rw-r--r--deps/npm/html/doc/cli/npm-shrinkwrap.html3
-rw-r--r--deps/npm/html/doc/cli/npm-star.html3
-rw-r--r--deps/npm/html/doc/cli/npm-stars.html3
-rw-r--r--deps/npm/html/doc/cli/npm-start.html3
-rw-r--r--deps/npm/html/doc/cli/npm-stop.html3
-rw-r--r--deps/npm/html/doc/cli/npm-submodule.html3
-rw-r--r--deps/npm/html/doc/cli/npm-tag.html3
-rw-r--r--deps/npm/html/doc/cli/npm-test.html3
-rw-r--r--deps/npm/html/doc/cli/npm-uninstall.html3
-rw-r--r--deps/npm/html/doc/cli/npm-unpublish.html3
-rw-r--r--deps/npm/html/doc/cli/npm-update.html3
-rw-r--r--deps/npm/html/doc/cli/npm-version.html3
-rw-r--r--deps/npm/html/doc/cli/npm-view.html3
-rw-r--r--deps/npm/html/doc/cli/npm-whoami.html3
-rw-r--r--deps/npm/html/doc/cli/npm.html5
-rw-r--r--deps/npm/html/doc/files/npm-folders.html3
-rw-r--r--deps/npm/html/doc/files/npm-global.html3
-rw-r--r--deps/npm/html/doc/files/npm-json.html39
-rw-r--r--deps/npm/html/doc/files/npmrc.html3
-rw-r--r--deps/npm/html/doc/files/package.json.html39
-rw-r--r--deps/npm/html/doc/index.html3
-rw-r--r--deps/npm/html/doc/misc/npm-coding-style.html3
-rw-r--r--deps/npm/html/doc/misc/npm-config.html14
-rw-r--r--deps/npm/html/doc/misc/npm-developers.html3
-rw-r--r--deps/npm/html/doc/misc/npm-disputes.html3
-rw-r--r--deps/npm/html/doc/misc/npm-faq.html5
-rw-r--r--deps/npm/html/doc/misc/npm-index.html3
-rw-r--r--deps/npm/html/doc/misc/npm-registry.html3
-rw-r--r--deps/npm/html/doc/misc/npm-scripts.html3
-rw-r--r--deps/npm/html/doc/misc/removing-npm.html3
-rw-r--r--deps/npm/html/doc/misc/semver.html3
-rw-r--r--deps/npm/html/dochead.html1
-rw-r--r--deps/npm/lib/adduser.js18
-rw-r--r--deps/npm/lib/cache.js176
-rw-r--r--deps/npm/lib/dedupe.js1
-rw-r--r--deps/npm/lib/help.js11
-rw-r--r--deps/npm/lib/install.js5
-rw-r--r--deps/npm/lib/npm.js8
-rw-r--r--deps/npm/lib/shrinkwrap.js2
-rw-r--r--deps/npm/lib/utils/error-handler.js9
-rw-r--r--deps/npm/lib/utils/lifecycle.js7
-rw-r--r--deps/npm/lib/view.js17
-rw-r--r--deps/npm/man/man1/npm-README.119
-rw-r--r--deps/npm/man/man1/npm-adduser.12
-rw-r--r--deps/npm/man/man1/npm-bin.12
-rw-r--r--deps/npm/man/man1/npm-bugs.12
-rw-r--r--deps/npm/man/man1/npm-build.12
-rw-r--r--deps/npm/man/man1/npm-bundle.12
-rw-r--r--deps/npm/man/man1/npm-cache.12
-rw-r--r--deps/npm/man/man1/npm-completion.12
-rw-r--r--deps/npm/man/man1/npm-config.12
-rw-r--r--deps/npm/man/man1/npm-dedupe.12
-rw-r--r--deps/npm/man/man1/npm-deprecate.12
-rw-r--r--deps/npm/man/man1/npm-docs.12
-rw-r--r--deps/npm/man/man1/npm-edit.12
-rw-r--r--deps/npm/man/man1/npm-explore.12
-rw-r--r--deps/npm/man/man1/npm-help-search.12
-rw-r--r--deps/npm/man/man1/npm-help.12
-rw-r--r--deps/npm/man/man1/npm-init.12
-rw-r--r--deps/npm/man/man1/npm-install.17
-rw-r--r--deps/npm/man/man1/npm-link.12
-rw-r--r--deps/npm/man/man1/npm-ls.14
-rw-r--r--deps/npm/man/man1/npm-outdated.12
-rw-r--r--deps/npm/man/man1/npm-owner.12
-rw-r--r--deps/npm/man/man1/npm-pack.12
-rw-r--r--deps/npm/man/man1/npm-prefix.12
-rw-r--r--deps/npm/man/man1/npm-prune.12
-rw-r--r--deps/npm/man/man1/npm-publish.12
-rw-r--r--deps/npm/man/man1/npm-rebuild.12
-rw-r--r--deps/npm/man/man1/npm-repo.12
-rw-r--r--deps/npm/man/man1/npm-restart.12
-rw-r--r--deps/npm/man/man1/npm-rm.12
-rw-r--r--deps/npm/man/man1/npm-root.12
-rw-r--r--deps/npm/man/man1/npm-run-script.18
-rw-r--r--deps/npm/man/man1/npm-search.12
-rw-r--r--deps/npm/man/man1/npm-shrinkwrap.12
-rw-r--r--deps/npm/man/man1/npm-star.12
-rw-r--r--deps/npm/man/man1/npm-stars.12
-rw-r--r--deps/npm/man/man1/npm-start.12
-rw-r--r--deps/npm/man/man1/npm-stop.12
-rw-r--r--deps/npm/man/man1/npm-submodule.12
-rw-r--r--deps/npm/man/man1/npm-tag.12
-rw-r--r--deps/npm/man/man1/npm-test.12
-rw-r--r--deps/npm/man/man1/npm-uninstall.12
-rw-r--r--deps/npm/man/man1/npm-unpublish.12
-rw-r--r--deps/npm/man/man1/npm-update.12
-rw-r--r--deps/npm/man/man1/npm-version.12
-rw-r--r--deps/npm/man/man1/npm-view.12
-rw-r--r--deps/npm/man/man1/npm-whoami.12
-rw-r--r--deps/npm/man/man1/npm.14
-rw-r--r--deps/npm/man/man3/npm-bin.32
-rw-r--r--deps/npm/man/man3/npm-bugs.32
-rw-r--r--deps/npm/man/man3/npm-commands.32
-rw-r--r--deps/npm/man/man3/npm-config.32
-rw-r--r--deps/npm/man/man3/npm-deprecate.32
-rw-r--r--deps/npm/man/man3/npm-docs.32
-rw-r--r--deps/npm/man/man3/npm-edit.32
-rw-r--r--deps/npm/man/man3/npm-explore.32
-rw-r--r--deps/npm/man/man3/npm-help-search.32
-rw-r--r--deps/npm/man/man3/npm-init.32
-rw-r--r--deps/npm/man/man3/npm-install.32
-rw-r--r--deps/npm/man/man3/npm-link.32
-rw-r--r--deps/npm/man/man3/npm-load.32
-rw-r--r--deps/npm/man/man3/npm-ls.32
-rw-r--r--deps/npm/man/man3/npm-outdated.32
-rw-r--r--deps/npm/man/man3/npm-owner.32
-rw-r--r--deps/npm/man/man3/npm-pack.32
-rw-r--r--deps/npm/man/man3/npm-prefix.32
-rw-r--r--deps/npm/man/man3/npm-prune.32
-rw-r--r--deps/npm/man/man3/npm-publish.32
-rw-r--r--deps/npm/man/man3/npm-rebuild.32
-rw-r--r--deps/npm/man/man3/npm-repo.32
-rw-r--r--deps/npm/man/man3/npm-restart.32
-rw-r--r--deps/npm/man/man3/npm-root.32
-rw-r--r--deps/npm/man/man3/npm-run-script.32
-rw-r--r--deps/npm/man/man3/npm-search.32
-rw-r--r--deps/npm/man/man3/npm-shrinkwrap.32
-rw-r--r--deps/npm/man/man3/npm-start.32
-rw-r--r--deps/npm/man/man3/npm-stop.32
-rw-r--r--deps/npm/man/man3/npm-submodule.32
-rw-r--r--deps/npm/man/man3/npm-tag.32
-rw-r--r--deps/npm/man/man3/npm-test.32
-rw-r--r--deps/npm/man/man3/npm-uninstall.32
-rw-r--r--deps/npm/man/man3/npm-unpublish.32
-rw-r--r--deps/npm/man/man3/npm-update.32
-rw-r--r--deps/npm/man/man3/npm-version.32
-rw-r--r--deps/npm/man/man3/npm-view.32
-rw-r--r--deps/npm/man/man3/npm-whoami.32
-rw-r--r--deps/npm/man/man3/npm.36
-rw-r--r--deps/npm/man/man5/npm-folders.52
-rw-r--r--deps/npm/man/man5/npm-global.52
-rw-r--r--deps/npm/man/man5/npm-json.556
-rw-r--r--deps/npm/man/man5/npmrc.52
-rw-r--r--deps/npm/man/man5/package.json.556
-rw-r--r--deps/npm/man/man7/npm-coding-style.72
-rw-r--r--deps/npm/man/man7/npm-config.723
-rw-r--r--deps/npm/man/man7/npm-developers.72
-rw-r--r--deps/npm/man/man7/npm-disputes.72
-rw-r--r--deps/npm/man/man7/npm-faq.74
-rw-r--r--deps/npm/man/man7/npm-index.72
-rw-r--r--deps/npm/man/man7/npm-registry.72
-rw-r--r--deps/npm/man/man7/npm-scripts.72
-rw-r--r--deps/npm/man/man7/removing-npm.72
-rw-r--r--deps/npm/man/man7/semver.72
-rw-r--r--deps/npm/node_modules/github-url-from-username-repo/index.js6
-rw-r--r--deps/npm/node_modules/github-url-from-username-repo/package.json11
-rw-r--r--deps/npm/node_modules/github-url-from-username-repo/test/index.js27
-rw-r--r--deps/npm/node_modules/init-package-json/default-input.js4
-rw-r--r--deps/npm/node_modules/init-package-json/node_modules/promzard/package.json4
-rw-r--r--deps/npm/node_modules/init-package-json/package.json11
-rw-r--r--deps/npm/node_modules/nopt/lib/nopt.js5
-rw-r--r--deps/npm/node_modules/nopt/package.json5
-rw-r--r--deps/npm/node_modules/nopt/test/basic.js8
-rw-r--r--deps/npm/node_modules/npm-registry-client/lib/request.js8
-rw-r--r--deps/npm/node_modules/npm-registry-client/package.json4
-rw-r--r--deps/npm/node_modules/npmconf/config-defs.js9
-rw-r--r--deps/npm/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list/package.json4
-rw-r--r--deps/npm/node_modules/npmconf/node_modules/config-chain/package.json4
-rw-r--r--deps/npm/node_modules/npmconf/package.json5
-rw-r--r--deps/npm/node_modules/read-installed/package.json4
-rw-r--r--deps/npm/node_modules/read-installed/read-installed.js9
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/.travis.yml1
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/fixer.js66
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/make_warning.js23
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/normalize.js3
-rw-r--r--deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/package.json11
-rw-r--r--deps/npm/node_modules/read-package-json/package.json7
-rw-r--r--deps/npm/node_modules/uid-number/LICENCE25
-rw-r--r--deps/npm/package.json27
-rwxr-xr-xdeps/npm/scripts/doc-build.sh4
-rw-r--r--deps/npm/test/common-tap.js30
-rw-r--r--deps/npm/test/tap/00-check-mock-dep.js15
-rw-r--r--deps/npm/test/tap/404-parent.js10
-rw-r--r--deps/npm/test/tap/cache-add-unpublished.js61
-rw-r--r--deps/npm/test/tap/cache-shasum.js60
-rw-r--r--deps/npm/test/tap/circular-dep.js23
-rw-r--r--deps/npm/test/tap/config-meta.js2
-rw-r--r--deps/npm/test/tap/dedupe.js20
-rw-r--r--deps/npm/test/tap/dedupe/package.json4
-rw-r--r--deps/npm/test/tap/git-cache-locking.js3
-rw-r--r--deps/npm/test/tap/ignore-install-link.js9
-rw-r--r--deps/npm/test/tap/ignore-scripts.js5
-rw-r--r--deps/npm/test/tap/install-cli-unicode.js38
-rw-r--r--deps/npm/test/tap/install-cli/README.md1
-rw-r--r--deps/npm/test/tap/install-cli/index.js1
-rw-r--r--deps/npm/test/tap/install-cli/package.json10
-rw-r--r--deps/npm/test/tap/install-save-prefix.js140
-rw-r--r--deps/npm/test/tap/install-save-prefix/README.md1
-rw-r--r--deps/npm/test/tap/install-save-prefix/index.js1
-rw-r--r--deps/npm/test/tap/install-save-prefix/package.json7
-rw-r--r--deps/npm/test/tap/invalid-cmd-exit-code.js29
-rw-r--r--deps/npm/test/tap/lifecycle-signal.js10
-rw-r--r--deps/npm/test/tap/lifecycle.js12
-rw-r--r--deps/npm/test/tap/ls-depth-cli.js79
-rw-r--r--deps/npm/test/tap/ls-depth/package.json8
-rw-r--r--deps/npm/test/tap/outdated-color.js17
-rw-r--r--deps/npm/test/tap/peer-deps-invalid.js95
-rw-r--r--deps/npm/test/tap/peer-deps-invalid/file-fail.js10
-rw-r--r--deps/npm/test/tap/peer-deps-invalid/file-ok.js11
-rw-r--r--deps/npm/test/tap/peer-deps-without-package-json.js78
-rw-r--r--deps/npm/test/tap/peer-deps-without-package-json/file-js.js11
-rw-r--r--deps/npm/test/tap/shrinkwrap-empty-deps.js47
-rw-r--r--deps/npm/test/tap/shrinkwrap-empty-deps/package.json7
-rw-r--r--deps/npm/test/tap/sorted-package-json.js2
-rw-r--r--deps/npm/test/tap/startstop.js58
-rw-r--r--deps/npm/wercker.yml22
-rw-r--r--doc/api/events.markdown4
-rw-r--r--doc/api/http.markdown4
-rw-r--r--doc/api/net.markdown5
-rw-r--r--lib/child_process.js3
-rw-r--r--src/node.cc10
-rw-r--r--test/simple/test-cluster-send-deadlock.js65
294 files changed, 1854 insertions, 589 deletions
diff --git a/Makefile b/Makefile
index 51c6b9048b7..a663513b47d 100644
--- a/Makefile
+++ b/Makefile
@@ -167,7 +167,7 @@ website_files = \
out/doc/sh_main.js \
out/doc/sh_javascript.min.js
-doc: $(apidoc_dirs) $(website_files) $(apiassets) $(apidocs) tools/doc/ node
+doc: $(apidoc_dirs) $(website_files) $(apiassets) $(apidocs) tools/doc/ out/doc/changelog.html node
$(apidoc_dirs):
mkdir -p $@
diff --git a/deps/npm/.travis.yml b/deps/npm/.travis.yml
new file mode 100644
index 00000000000..0fbe8dc335f
--- /dev/null
+++ b/deps/npm/.travis.yml
@@ -0,0 +1,5 @@
+language: node_js
+script: "npm run-script tap"
+node_js:
+ - "0.11"
+ - "0.10"
diff --git a/deps/npm/Makefile b/deps/npm/Makefile
index b0b85216d89..870965b52e4 100644
--- a/deps/npm/Makefile
+++ b/deps/npm/Makefile
@@ -169,7 +169,6 @@ publish: link doc
git push origin &&\
git push origin --tags &&\
npm publish &&\
- npm tag npm@$(shell npm -v) $(shell npm -v | awk -F. '{print $$1 "." $$2}') &&\
make doc-publish &&\
make zip-publish
diff --git a/deps/npm/README.md b/deps/npm/README.md
index 676d2003b34..0c08862fce9 100644
--- a/deps/npm/README.md
+++ b/deps/npm/README.md
@@ -1,6 +1,6 @@
npm(1) -- node package manager
==============================
-
+[![Build Status](https://img.shields.io/travis/npm/npm/master.svg)](https://travis-ci.org/npm/npm)
## SYNOPSIS
This is just enough info to get you up and running.
@@ -38,6 +38,10 @@ paths, etc.) then read on.
There's a pretty robust install script at
<https://www.npmjs.org/install.sh>. You can download that and run it.
+Here's an example using curl:
+
+ curl -L https://npmjs.org/install.sh | sh
+
### Slightly Fancier
You can set any npm configuration params with that script:
diff --git a/deps/npm/doc/api/npm.md b/deps/npm/doc/api/npm.md
index dea8773b80b..d05684e8b9d 100644
--- a/deps/npm/doc/api/npm.md
+++ b/deps/npm/doc/api/npm.md
@@ -4,7 +4,7 @@ npm(3) -- node package manager
## SYNOPSIS
var npm = require("npm")
- npm.load([configObject], function (er, npm) {
+ npm.load([configObject, ]function (er, npm) {
// use the npm object, now that it's loaded.
npm.config.set(key, val)
diff --git a/deps/npm/doc/cli/npm-install.md b/deps/npm/doc/cli/npm-install.md
index 47820a73c0e..62eec2d8e34 100644
--- a/deps/npm/doc/cli/npm-install.md
+++ b/deps/npm/doc/cli/npm-install.md
@@ -24,7 +24,7 @@ A `package` is:
* a) a folder containing a program described by a package.json file
* b) a gzipped tarball containing (a)
* c) a url that resolves to (b)
-* d) a `<name>@<version>` that is published on the registry with (c)
+* d) a `<name>@<version>` that is published on the registry (see `npm-registry(7)`) with (c)
* e) a `<name>@<tag>` that points to (d)
* f) a `<name>` that has a "latest" tag satisfying (e)
* g) a `<git remote url>` that resolves to (b)
@@ -254,7 +254,6 @@ affects a real use-case, it will be investigated.
* npm-config(7)
* npmrc(5)
* npm-registry(7)
-* npm-folders(5)
* npm-tag(1)
* npm-rm(1)
* npm-shrinkwrap(1)
diff --git a/deps/npm/doc/cli/npm-run-script.md b/deps/npm/doc/cli/npm-run-script.md
index 6c3c2b7a9cf..80b813cff7f 100644
--- a/deps/npm/doc/cli/npm-run-script.md
+++ b/deps/npm/doc/cli/npm-run-script.md
@@ -3,11 +3,13 @@ npm-run-script(1) -- Run arbitrary package scripts
## SYNOPSIS
- npm run-script <script> <name>
+ npm run-script [<pkg>] <command>
## DESCRIPTION
-This runs an arbitrary command from a package's "scripts" object.
+This runs an arbitrary command from a package's `"scripts"` object.
+If no package name is provided, it will search for a `package.json`
+in the current folder and use its `"scripts"` object.
It is used by the test, start, restart, and stop commands, but can be
called directly, as well.
diff --git a/deps/npm/doc/files/package.json.md b/deps/npm/doc/files/package.json.md
index c987948b4c5..b9b05d4d4d9 100644
--- a/deps/npm/doc/files/package.json.md
+++ b/deps/npm/doc/files/package.json.md
@@ -311,6 +311,7 @@ See semver(7) for more details about specifying version ranges.
* `<version`
* `<=version`
* `~version` "Approximately equivalent to version" See semver(7)
+* `^version` "Compatible with version" See semver(7)
* `1.2.x` 1.2.0, 1.2.1, etc., but not 1.3.0
* `http://...` See 'URLs as Dependencies' below
* `*` Matches any version
@@ -404,6 +405,40 @@ can consume the functionality without requiring them to compile it
themselves. In dev mode (ie, locally running `npm install`), it'll
run this script as well, so that you can test it easily.
+## peerDependencies
+
+In some cases, you want to express the compatibility of your package with an
+host tool or library, while not necessarily doing a `require` of this host.
+This is usually refered to as a *plugin*. Notably, your module may be exposing
+a specific interface, expected and specified by the host documentation.
+
+For example:
+
+ {
+ "name": "tea-latte",
+ "version": "1.3.5"
+ "peerDependencies": {
+ "tea": "2.x"
+ }
+ }
+
+This ensures your package `tea-latte` can be installed *along* with the second
+major version of the host package `tea` only. The host package is automatically
+installed if needed. `npm install tea-latte` could possibly yield the following
+dependency graph:
+
+ ├── tea-latte@1.3.5
+ └── tea@2.2.0
+
+Trying to install another plugin with a conflicting requirement will cause an
+error. For this reason, make sure your plugin requirement is as broad as
+possible, and not to lock it down to specific patch versions.
+
+Assuming the host complies with [semver](http://semver.org/), only changes in
+the host package's major version will break your plugin. Thus, if you've worked
+with every 1.x version of the host package, use `"^1.0"` or `"1.x"` to express
+this. If you depend on features introduced in 1.5.2, use `">= 1.5.2 < 2"`.
+
## bundledDependencies
Array of package names that will be bundled when publishing the package.
diff --git a/deps/npm/doc/misc/npm-config.md b/deps/npm/doc/misc/npm-config.md
index e54e2bb7bb8..a70de812162 100644
--- a/deps/npm/doc/misc/npm-config.md
+++ b/deps/npm/doc/misc/npm-config.md
@@ -648,6 +648,19 @@ devDependencies hash.
Only works if there is already a package.json file present.
+### save-prefix
+
+* Default: '^'
+* Type: String
+
+Configure how versions of packages installed to a package.json file via
+`--save` or `--save-dev` get prefixed.
+
+For example if a package has version `1.2.3`, by default it's version is
+set to `^1.2.3` which allows minor upgrades for that package, but after
+`npm config set save-prefix='~'` it would be set to `~1.2.3` which only allows
+patch upgrades.
+
### searchopts
* Default: ""
diff --git a/deps/npm/doc/misc/npm-faq.md b/deps/npm/doc/misc/npm-faq.md
index 31ce3745189..08160523057 100644
--- a/deps/npm/doc/misc/npm-faq.md
+++ b/deps/npm/doc/misc/npm-faq.md
@@ -77,7 +77,7 @@ npm will not help you do something that is known to be a bad idea.
Mikeal Rogers answered this question very well:
-<http://www.mikealrogers.com/posts/nodemodules-in-git.html>
+<http://www.futurealoof.com/posts/nodemodules-in-git.html>
tl;dr
diff --git a/deps/npm/html/doc/README.html b/deps/npm/html/doc/README.html
index f1dade39e05..792ce47ed0f 100644
--- a/deps/npm/html/doc/README.html
+++ b/deps/npm/html/doc/README.html
@@ -3,6 +3,7 @@
<title>README</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/README.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -10,7 +11,8 @@
<h1><a href="cli/npm.html">npm</a></h1> <p>node package manager</p>
-<h2 id="SYNOPSIS">SYNOPSIS</h2>
+<p><a href="https://img.shields.io/travis/npm/npm/master.svg)](https://travis-ci.org/npm/npm">![Build Status</a>
+## SYNOPSIS</p>
<p>This is just enough info to get you up and running.</p>
@@ -47,6 +49,10 @@ paths, etc.) then read on.</p>
<p>There&#39;s a pretty robust install script at
<a href="https://www.npmjs.org/install.sh">https://www.npmjs.org/install.sh</a>. You can download that and run it.</p>
+<p>Here&#39;s an example using curl:</p>
+
+<pre><code>curl -L https://npmjs.org/install.sh | sh</code></pre>
+
<h3 id="Slightly-Fancier">Slightly Fancier</h3>
<p>You can set any npm configuration params with that script:</p>
@@ -254,5 +260,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@1.4.6</p>
+<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-bin.html b/deps/npm/html/doc/api/npm-bin.html
index e385fc75f23..50bc54e4a9a 100644
--- a/deps/npm/html/doc/api/npm-bin.html
+++ b/deps/npm/html/doc/api/npm-bin.html
@@ -3,6 +3,7 @@
<title>npm-bin</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-bin.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -31,5 +32,5 @@ to the <code>npm.bin</code> member.</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-bin &mdash; npm@1.4.6</p>
+<p id="footer">npm-bin &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-bugs.html b/deps/npm/html/doc/api/npm-bugs.html
index 732ffe14b82..d0cf9f376f3 100644
--- a/deps/npm/html/doc/api/npm-bugs.html
+++ b/deps/npm/html/doc/api/npm-bugs.html
@@ -3,6 +3,7 @@
<title>npm-bugs</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-bugs.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -37,5 +38,5 @@ friendly for programmatic use.</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-bugs &mdash; npm@1.4.6</p>
+<p id="footer">npm-bugs &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-commands.html b/deps/npm/html/doc/api/npm-commands.html
index 9236ce2ef1b..735905e295a 100644
--- a/deps/npm/html/doc/api/npm-commands.html
+++ b/deps/npm/html/doc/api/npm-commands.html
@@ -3,6 +3,7 @@
<title>npm-commands</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-commands.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -40,5 +41,5 @@ usage, or <code>man 3 npm-&lt;command&gt;</code> for programmatic usage.</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-commands &mdash; npm@1.4.6</p>
+<p id="footer">npm-commands &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-config.html b/deps/npm/html/doc/api/npm-config.html
index 746151c271a..e1d685560e9 100644
--- a/deps/npm/html/doc/api/npm-config.html
+++ b/deps/npm/html/doc/api/npm-config.html
@@ -3,6 +3,7 @@
<title>npm-config</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-config.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -45,5 +46,5 @@ functions 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-config &mdash; npm@1.4.6</p>
+<p id="footer">npm-config &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-deprecate.html b/deps/npm/html/doc/api/npm-deprecate.html
index 53c02c439f5..2513519559a 100644
--- a/deps/npm/html/doc/api/npm-deprecate.html
+++ b/deps/npm/html/doc/api/npm-deprecate.html
@@ -3,6 +3,7 @@
<title>npm-deprecate</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-deprecate.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -44,5 +45,5 @@ install the package.</p></li></ul>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@1.4.6</p>
+<p id="footer">npm-deprecate &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-docs.html b/deps/npm/html/doc/api/npm-docs.html
index ce514123a1f..ad50e542221 100644
--- a/deps/npm/html/doc/api/npm-docs.html
+++ b/deps/npm/html/doc/api/npm-docs.html
@@ -3,6 +3,7 @@
<title>npm-docs</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-docs.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -37,5 +38,5 @@ friendly for programmatic use.</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@1.4.6</p>
+<p id="footer">npm-docs &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-edit.html b/deps/npm/html/doc/api/npm-edit.html
index c13f00443e8..38e691567f0 100644
--- a/deps/npm/html/doc/api/npm-edit.html
+++ b/deps/npm/html/doc/api/npm-edit.html
@@ -3,6 +3,7 @@
<title>npm-edit</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-edit.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -42,5 +43,5 @@ and how this is 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-edit &mdash; npm@1.4.6</p>
+<p id="footer">npm-edit &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-explore.html b/deps/npm/html/doc/api/npm-explore.html
index a719e860b08..7991f75139c 100644
--- a/deps/npm/html/doc/api/npm-explore.html
+++ b/deps/npm/html/doc/api/npm-explore.html
@@ -3,6 +3,7 @@
<title>npm-explore</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-explore.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -36,5 +37,5 @@ sure to use <code>npm rebuild &lt;pkg&gt;</code> if you make any changes.</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-explore &mdash; npm@1.4.6</p>
+<p id="footer">npm-explore &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-help-search.html b/deps/npm/html/doc/api/npm-help-search.html
index f22d96937ea..4bfb677ebc4 100644
--- a/deps/npm/html/doc/api/npm-help-search.html
+++ b/deps/npm/html/doc/api/npm-help-search.html
@@ -3,6 +3,7 @@
<title>npm-help-search</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-help-search.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -44,5 +45,5 @@ Name of the file that matched</li></ul>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@1.4.6</p>
+<p id="footer">npm-help-search &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-init.html b/deps/npm/html/doc/api/npm-init.html
index f007797eed0..90eac28a0cc 100644
--- a/deps/npm/html/doc/api/npm-init.html
+++ b/deps/npm/html/doc/api/npm-init.html
@@ -3,6 +3,7 @@
<title>npm-init</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-init.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -47,5 +48,5 @@ then go ahead and use this programmatically.</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@1.4.6</p>
+<p id="footer">npm-init &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-install.html b/deps/npm/html/doc/api/npm-install.html
index e74d4f7eba7..d78b3f41dcb 100644
--- a/deps/npm/html/doc/api/npm-install.html
+++ b/deps/npm/html/doc/api/npm-install.html
@@ -3,6 +3,7 @@
<title>npm-install</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-install.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -37,5 +38,5 @@ installed or when an error has been encountered.</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@1.4.6</p>
+<p id="footer">npm-install &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-link.html b/deps/npm/html/doc/api/npm-link.html
index cfa3524c06f..24461c092aa 100644
--- a/deps/npm/html/doc/api/npm-link.html
+++ b/deps/npm/html/doc/api/npm-link.html
@@ -3,6 +3,7 @@
<title>npm-link</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-link.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -51,5 +52,5 @@ the package in the current working 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-link &mdash; npm@1.4.6</p>
+<p id="footer">npm-link &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-load.html b/deps/npm/html/doc/api/npm-load.html
index 3c7458276fb..55e4500b34a 100644
--- a/deps/npm/html/doc/api/npm-load.html
+++ b/deps/npm/html/doc/api/npm-load.html
@@ -3,6 +3,7 @@
<title>npm-load</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-load.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -44,5 +45,5 @@ config object.</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-load &mdash; npm@1.4.6</p>
+<p id="footer">npm-load &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-ls.html b/deps/npm/html/doc/api/npm-ls.html
index ab8e3381867..56553d2b239 100644
--- a/deps/npm/html/doc/api/npm-ls.html
+++ b/deps/npm/html/doc/api/npm-ls.html
@@ -3,6 +3,7 @@
<title>npm-ls</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-ls.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -71,5 +72,5 @@ dependency will only be output once.</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@1.4.6</p>
+<p id="footer">npm-ls &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-outdated.html b/deps/npm/html/doc/api/npm-outdated.html
index 32c66b1be00..311922f7c0d 100644
--- a/deps/npm/html/doc/api/npm-outdated.html
+++ b/deps/npm/html/doc/api/npm-outdated.html
@@ -3,6 +3,7 @@
<title>npm-outdated</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-outdated.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -31,5 +32,5 @@ currently outdated.</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@1.4.6</p>
+<p id="footer">npm-outdated &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-owner.html b/deps/npm/html/doc/api/npm-owner.html
index 32e675104ee..fbaef4359f7 100644
--- a/deps/npm/html/doc/api/npm-owner.html
+++ b/deps/npm/html/doc/api/npm-owner.html
@@ -3,6 +3,7 @@
<title>npm-owner</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-owner.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -46,5 +47,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@1.4.6</p>
+<p id="footer">npm-owner &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-pack.html b/deps/npm/html/doc/api/npm-pack.html
index 1b88797fb6b..7af6b832301 100644
--- a/deps/npm/html/doc/api/npm-pack.html
+++ b/deps/npm/html/doc/api/npm-pack.html
@@ -3,6 +3,7 @@
<title>npm-pack</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-pack.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -37,5 +38,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@1.4.6</p>
+<p id="footer">npm-pack &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-prefix.html b/deps/npm/html/doc/api/npm-prefix.html
index b67be748c7e..808290ca2e1 100644
--- a/deps/npm/html/doc/api/npm-prefix.html
+++ b/deps/npm/html/doc/api/npm-prefix.html
@@ -3,6 +3,7 @@
<title>npm-prefix</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-prefix.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -33,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-prefix &mdash; npm@1.4.6</p>
+<p id="footer">npm-prefix &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-prune.html b/deps/npm/html/doc/api/npm-prune.html
index 5d95dcef913..1ade79fab4e 100644
--- a/deps/npm/html/doc/api/npm-prune.html
+++ b/deps/npm/html/doc/api/npm-prune.html
@@ -3,6 +3,7 @@
<title>npm-prune</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-prune.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -35,5 +36,5 @@ package&#39;s dependencies list.</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@1.4.6</p>
+<p id="footer">npm-prune &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-publish.html b/deps/npm/html/doc/api/npm-publish.html
index f67cba0cb7d..1220fd6080d 100644
--- a/deps/npm/html/doc/api/npm-publish.html
+++ b/deps/npm/html/doc/api/npm-publish.html
@@ -3,6 +3,7 @@
<title>npm-publish</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-publish.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -44,5 +45,5 @@ the registry. Overwrites when the &quot;force&quot; environment variable is set
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@1.4.6</p>
+<p id="footer">npm-publish &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-rebuild.html b/deps/npm/html/doc/api/npm-rebuild.html
index 4e5b1b3edb0..0e22893c402 100644
--- a/deps/npm/html/doc/api/npm-rebuild.html
+++ b/deps/npm/html/doc/api/npm-rebuild.html
@@ -3,6 +3,7 @@
<title>npm-rebuild</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-rebuild.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -34,5 +35,5 @@ the new binary. If no &#39;packages&#39; parameter is specify, every package wil
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@1.4.6</p>
+<p id="footer">npm-rebuild &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-repo.html b/deps/npm/html/doc/api/npm-repo.html
index 847b8603280..a4a98208041 100644
--- a/deps/npm/html/doc/api/npm-repo.html
+++ b/deps/npm/html/doc/api/npm-repo.html
@@ -3,6 +3,7 @@
<title>npm-repo</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-repo.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -37,5 +38,5 @@ friendly for programmatic use.</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-repo &mdash; npm@1.4.6</p>
+<p id="footer">npm-repo &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-restart.html b/deps/npm/html/doc/api/npm-restart.html
index 6ed268a535a..71cad00b944 100644
--- a/deps/npm/html/doc/api/npm-restart.html
+++ b/deps/npm/html/doc/api/npm-restart.html
@@ -3,6 +3,7 @@
<title>npm-restart</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-restart.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -39,5 +40,5 @@ in the <code>packages</code> parameter.</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@1.4.6</p>
+<p id="footer">npm-restart &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-root.html b/deps/npm/html/doc/api/npm-root.html
index ffaea420f3f..e1dd216bbde 100644
--- a/deps/npm/html/doc/api/npm-root.html
+++ b/deps/npm/html/doc/api/npm-root.html
@@ -3,6 +3,7 @@
<title>npm-root</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-root.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -33,5 +34,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-root &mdash; npm@1.4.6</p>
+<p id="footer">npm-root &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-run-script.html b/deps/npm/html/doc/api/npm-run-script.html
index 99288bd06ea..c6be4c6fe21 100644
--- a/deps/npm/html/doc/api/npm-run-script.html
+++ b/deps/npm/html/doc/api/npm-run-script.html
@@ -3,6 +3,7 @@
<title>npm-run-script</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-run-script.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -41,5 +42,5 @@ assumed to be the command to run. All other elements are 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">npm-run-script &mdash; npm@1.4.6</p>
+<p id="footer">npm-run-script &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-search.html b/deps/npm/html/doc/api/npm-search.html
index d3aac2dffd0..dcb5e0fde92 100644
--- a/deps/npm/html/doc/api/npm-search.html
+++ b/deps/npm/html/doc/api/npm-search.html
@@ -3,6 +3,7 @@
<title>npm-search</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-search.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -44,5 +45,5 @@ like).</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-search &mdash; npm@1.4.6</p>
+<p id="footer">npm-search &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-shrinkwrap.html b/deps/npm/html/doc/api/npm-shrinkwrap.html
index a40a389ea35..cce22640fae 100644
--- a/deps/npm/html/doc/api/npm-shrinkwrap.html
+++ b/deps/npm/html/doc/api/npm-shrinkwrap.html
@@ -3,6 +3,7 @@
<title>npm-shrinkwrap</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-shrinkwrap.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -38,5 +39,5 @@ been saved.</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@1.4.6</p>
+<p id="footer">npm-shrinkwrap &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-start.html b/deps/npm/html/doc/api/npm-start.html
index 7628317bec7..ec2f3694193 100644
--- a/deps/npm/html/doc/api/npm-start.html
+++ b/deps/npm/html/doc/api/npm-start.html
@@ -3,6 +3,7 @@
<title>npm-start</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-start.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -31,5 +32,5 @@ in the <code>packages</code> parameter.</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@1.4.6</p>
+<p id="footer">npm-start &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-stop.html b/deps/npm/html/doc/api/npm-stop.html
index 86b03c55fa6..882ebbe02a9 100644
--- a/deps/npm/html/doc/api/npm-stop.html
+++ b/deps/npm/html/doc/api/npm-stop.html
@@ -3,6 +3,7 @@
<title>npm-stop</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-stop.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -31,5 +32,5 @@ in the <code>packages</code> parameter.</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-stop &mdash; npm@1.4.6</p>
+<p id="footer">npm-stop &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-submodule.html b/deps/npm/html/doc/api/npm-submodule.html
index e80f44e82e4..42b82ac15de 100644
--- a/deps/npm/html/doc/api/npm-submodule.html
+++ b/deps/npm/html/doc/api/npm-submodule.html
@@ -3,6 +3,7 @@
<title>npm-submodule</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-submodule.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -45,5 +46,5 @@ dependencies into the submodule folder.</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-submodule &mdash; npm@1.4.6</p>
+<p id="footer">npm-submodule &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-tag.html b/deps/npm/html/doc/api/npm-tag.html
index d3807db1978..dbf97be1aed 100644
--- a/deps/npm/html/doc/api/npm-tag.html
+++ b/deps/npm/html/doc/api/npm-tag.html
@@ -3,6 +3,7 @@
<title>npm-tag</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-tag.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -41,5 +42,5 @@ used. For more information about how to set this config, check
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@1.4.6</p>
+<p id="footer">npm-tag &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-test.html b/deps/npm/html/doc/api/npm-test.html
index 24811c2d637..2820fa70965 100644
--- a/deps/npm/html/doc/api/npm-test.html
+++ b/deps/npm/html/doc/api/npm-test.html
@@ -3,6 +3,7 @@
<title>npm-test</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-test.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -34,5 +35,5 @@ in the <code>packages</code> parameter.</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@1.4.6</p>
+<p id="footer">npm-test &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-uninstall.html b/deps/npm/html/doc/api/npm-uninstall.html
index 517f33e66bb..2a568d9e6a9 100644
--- a/deps/npm/html/doc/api/npm-uninstall.html
+++ b/deps/npm/html/doc/api/npm-uninstall.html
@@ -3,6 +3,7 @@
<title>npm-uninstall</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-uninstall.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -34,5 +35,5 @@ uninstalled or when an error has been encountered.</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-uninstall &mdash; npm@1.4.6</p>
+<p id="footer">npm-uninstall &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-unpublish.html b/deps/npm/html/doc/api/npm-unpublish.html
index bd15c465c63..09748b7cc20 100644
--- a/deps/npm/html/doc/api/npm-unpublish.html
+++ b/deps/npm/html/doc/api/npm-unpublish.html
@@ -3,6 +3,7 @@
<title>npm-unpublish</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-unpublish.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -38,5 +39,5 @@ the root package entry is removed from the registry entirely.</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@1.4.6</p>
+<p id="footer">npm-unpublish &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-update.html b/deps/npm/html/doc/api/npm-update.html
index 11b706ed2dd..b929ad73926 100644
--- a/deps/npm/html/doc/api/npm-update.html
+++ b/deps/npm/html/doc/api/npm-update.html
@@ -3,6 +3,7 @@
<title>npm-update</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-update.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -30,5 +31,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-update &mdash; npm@1.4.6</p>
+<p id="footer">npm-update &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-version.html b/deps/npm/html/doc/api/npm-version.html
index 7502ad6e264..ffe2a4093fa 100644
--- a/deps/npm/html/doc/api/npm-version.html
+++ b/deps/npm/html/doc/api/npm-version.html
@@ -3,6 +3,7 @@
<title>npm-version</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-version.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -36,5 +37,5 @@ not have exactly one element. The only element should be a 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-version &mdash; npm@1.4.6</p>
+<p id="footer">npm-version &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-view.html b/deps/npm/html/doc/api/npm-view.html
index a22755396ff..09dfffce1ad 100644
--- a/deps/npm/html/doc/api/npm-view.html
+++ b/deps/npm/html/doc/api/npm-view.html
@@ -3,6 +3,7 @@
<title>npm-view</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-view.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -111,5 +112,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@1.4.6</p>
+<p id="footer">npm-view &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm-whoami.html b/deps/npm/html/doc/api/npm-whoami.html
index e81a84bee1b..cccc2f5555f 100644
--- a/deps/npm/html/doc/api/npm-whoami.html
+++ b/deps/npm/html/doc/api/npm-whoami.html
@@ -3,6 +3,7 @@
<title>npm-whoami</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm-whoami.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -33,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-whoami &mdash; npm@1.4.6</p>
+<p id="footer">npm-whoami &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/api/npm.html b/deps/npm/html/doc/api/npm.html
index 6ba4f26b5f0..75f85657d73 100644
--- a/deps/npm/html/doc/api/npm.html
+++ b/deps/npm/html/doc/api/npm.html
@@ -3,6 +3,7 @@
<title>npm</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/api/npm.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -13,7 +14,7 @@
<h2 id="SYNOPSIS">SYNOPSIS</h2>
<pre><code>var npm = require(&quot;npm&quot;)
-npm.load([configObject], function (er, npm) {
+npm.load([configObject, ]function (er, npm) {
// use the npm object, now that it&#39;s loaded.
npm.config.set(key, val)
@@ -26,7 +27,7 @@ npm.load([configObject], function (er, npm) {
<h2 id="VERSION">VERSION</h2>
-<p>1.4.6</p>
+<p>1.4.8</p>
<h2 id="DESCRIPTION">DESCRIPTION</h2>
@@ -104,5 +105,5 @@ method names. Use the <code>npm.deref</code> method to find the real 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 &mdash; npm@1.4.6</p>
+<p id="footer">npm &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-adduser.html b/deps/npm/html/doc/cli/npm-adduser.html
index 305d74a1de6..e97c3c21b1c 100644
--- a/deps/npm/html/doc/cli/npm-adduser.html
+++ b/deps/npm/html/doc/cli/npm-adduser.html
@@ -3,6 +3,7 @@
<title>npm-adduser</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-adduser.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -51,5 +52,5 @@ authorize on a new machine.</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@1.4.6</p>
+<p id="footer">npm-adduser &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-bin.html b/deps/npm/html/doc/cli/npm-bin.html
index a3489d72c3b..f753966fe8f 100644
--- a/deps/npm/html/doc/cli/npm-bin.html
+++ b/deps/npm/html/doc/cli/npm-bin.html
@@ -3,6 +3,7 @@
<title>npm-bin</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-bin.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -32,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-bin &mdash; npm@1.4.6</p>
+<p id="footer">npm-bin &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-bugs.html b/deps/npm/html/doc/cli/npm-bugs.html
index 026bc2fc061..821dbb3a640 100644
--- a/deps/npm/html/doc/cli/npm-bugs.html
+++ b/deps/npm/html/doc/cli/npm-bugs.html
@@ -3,6 +3,7 @@
<title>npm-bugs</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-bugs.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -50,5 +51,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@1.4.6</p>
+<p id="footer">npm-bugs &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-build.html b/deps/npm/html/doc/cli/npm-build.html
index 9cb323bb63f..89d75f1f714 100644
--- a/deps/npm/html/doc/cli/npm-build.html
+++ b/deps/npm/html/doc/cli/npm-build.html
@@ -3,6 +3,7 @@
<title>npm-build</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-build.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -37,5 +38,5 @@ A folder containing a <code>package.json</code> file in its root.</li></ul>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@1.4.6</p>
+<p id="footer">npm-build &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-bundle.html b/deps/npm/html/doc/cli/npm-bundle.html
index a128149c3fd..4c1de8ceedf 100644
--- a/deps/npm/html/doc/cli/npm-bundle.html
+++ b/deps/npm/html/doc/cli/npm-bundle.html
@@ -3,6 +3,7 @@
<title>npm-bundle</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-bundle.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -32,5 +33,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@1.4.6</p>
+<p id="footer">npm-bundle &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-cache.html b/deps/npm/html/doc/cli/npm-cache.html
index d16fdda5b2d..90013f941e8 100644
--- a/deps/npm/html/doc/cli/npm-cache.html
+++ b/deps/npm/html/doc/cli/npm-cache.html
@@ -3,6 +3,7 @@
<title>npm-cache</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-cache.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -78,5 +79,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@1.4.6</p>
+<p id="footer">npm-cache &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-completion.html b/deps/npm/html/doc/cli/npm-completion.html
index 2faaff8c19d..357d095d78d 100644
--- a/deps/npm/html/doc/cli/npm-completion.html
+++ b/deps/npm/html/doc/cli/npm-completion.html
@@ -3,6 +3,7 @@
<title>npm-completion</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-completion.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -45,5 +46,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@1.4.6</p>
+<p id="footer">npm-completion &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-config.html b/deps/npm/html/doc/cli/npm-config.html
index 10449a29d8b..ad93e7803d7 100644
--- a/deps/npm/html/doc/cli/npm-config.html
+++ b/deps/npm/html/doc/cli/npm-config.html
@@ -3,6 +3,7 @@
<title>npm-config</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-config.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -85,5 +86,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@1.4.6</p>
+<p id="footer">npm-config &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-dedupe.html b/deps/npm/html/doc/cli/npm-dedupe.html
index 992fb5c0c20..2576a78c6ca 100644
--- a/deps/npm/html/doc/cli/npm-dedupe.html
+++ b/deps/npm/html/doc/cli/npm-dedupe.html
@@ -3,6 +3,7 @@
<title>npm-dedupe</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-dedupe.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -74,5 +75,5 @@ 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-dedupe &mdash; npm@1.4.6</p>
+<p id="footer">npm-dedupe &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-deprecate.html b/deps/npm/html/doc/cli/npm-deprecate.html
index 4e9684cc863..13a9b3b0f68 100644
--- a/deps/npm/html/doc/cli/npm-deprecate.html
+++ b/deps/npm/html/doc/cli/npm-deprecate.html
@@ -3,6 +3,7 @@
<title>npm-deprecate</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-deprecate.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -43,5 +44,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@1.4.6</p>
+<p id="footer">npm-deprecate &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-docs.html b/deps/npm/html/doc/cli/npm-docs.html
index c64593fbf86..af1fcc0ba4f 100644
--- a/deps/npm/html/doc/cli/npm-docs.html
+++ b/deps/npm/html/doc/cli/npm-docs.html
@@ -3,6 +3,7 @@
<title>npm-docs</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-docs.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -53,5 +54,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@1.4.6</p>
+<p id="footer">npm-docs &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-edit.html b/deps/npm/html/doc/cli/npm-edit.html
index 7046f155447..91b064cd49e 100644
--- a/deps/npm/html/doc/cli/npm-edit.html
+++ b/deps/npm/html/doc/cli/npm-edit.html
@@ -3,6 +3,7 @@
<title>npm-edit</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-edit.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -49,5 +50,5 @@ or <code>&quot;notepad&quot;</code> on Windows.</li><li>Type: path</li></ul>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@1.4.6</p>
+<p id="footer">npm-edit &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-explore.html b/deps/npm/html/doc/cli/npm-explore.html
index caf9be4b6de..7febeee318a 100644
--- a/deps/npm/html/doc/cli/npm-explore.html
+++ b/deps/npm/html/doc/cli/npm-explore.html
@@ -3,6 +3,7 @@
<title>npm-explore</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-explore.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -52,5 +53,5 @@ Windows</li><li>Type: path</li></ul>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@1.4.6</p>
+<p id="footer">npm-explore &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-help-search.html b/deps/npm/html/doc/cli/npm-help-search.html
index b043ae744a4..16e3773de84 100644
--- a/deps/npm/html/doc/cli/npm-help-search.html
+++ b/deps/npm/html/doc/cli/npm-help-search.html
@@ -3,6 +3,7 @@
<title>npm-help-search</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-help-search.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -50,5 +51,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@1.4.6</p>
+<p id="footer">npm-help-search &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-help.html b/deps/npm/html/doc/cli/npm-help.html
index adf4043e59c..24ec2533014 100644
--- a/deps/npm/html/doc/cli/npm-help.html
+++ b/deps/npm/html/doc/cli/npm-help.html
@@ -3,6 +3,7 @@
<title>npm-help</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-help.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -48,5 +49,5 @@ matches are equivalent to specifying a topic name.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-help &mdash; npm@1.4.6</p>
+<p id="footer">npm-help &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-init.html b/deps/npm/html/doc/cli/npm-init.html
index 65f8d335500..fe2d1af96fa 100644
--- a/deps/npm/html/doc/cli/npm-init.html
+++ b/deps/npm/html/doc/cli/npm-init.html
@@ -3,6 +3,7 @@
<title>npm-init</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-init.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -41,5 +42,5 @@ without a really good reason to do so.</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@1.4.6</p>
+<p id="footer">npm-init &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-install.html b/deps/npm/html/doc/cli/npm-install.html
index 625174cf59e..3e0a78f3f6f 100644
--- a/deps/npm/html/doc/cli/npm-install.html
+++ b/deps/npm/html/doc/cli/npm-install.html
@@ -3,6 +3,7 @@
<title>npm-install</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-install.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -30,7 +31,7 @@ by that. See <a href="../cli/npm-shrinkwrap.html">npm-shrinkwrap(1)</a>.</p>
<p>A <code>package</code> is:</p>
-<ul><li>a) a folder containing a program described by a package.json file</li><li>b) a gzipped tarball containing (a)</li><li>c) a url that resolves to (b)</li><li>d) a <code>&lt;name&gt;@&lt;version&gt;</code> that is published on the registry with (c)</li><li>e) a <code>&lt;name&gt;@&lt;tag&gt;</code> that points to (d)</li><li>f) a <code>&lt;name&gt;</code> that has a &quot;latest&quot; tag satisfying (e)</li><li>g) a <code>&lt;git remote url&gt;</code> that resolves to (b)</li></ul>
+<ul><li>a) a folder containing a program described by a package.json file</li><li>b) a gzipped tarball containing (a)</li><li>c) a url that resolves to (b)</li><li>d) a <code>&lt;name&gt;@&lt;version&gt;</code> that is published on the registry (see <code><a href="../misc/npm-registry.html">npm-registry(7)</a></code>) with (c)</li><li>e) a <code>&lt;name&gt;@&lt;tag&gt;</code> that points to (d)</li><li>f) a <code>&lt;name&gt;</code> that has a &quot;latest&quot; tag satisfying (e)</li><li>g) a <code>&lt;git remote url&gt;</code> that resolves to (b)</li></ul>
<p>Even if you never publish your package, you can still get a lot of
benefits of using npm if you just want to write a node program (a), and
@@ -153,7 +154,7 @@ affects a real use-case, it will be investigated.</p>
<h2 id="SEE-ALSO">SEE ALSO</h2>
-<ul><li><a href="../files/npm-folders.html">npm-folders(5)</a></li><li><a href="../cli/npm-update.html">npm-update(1)</a></li><li><a href="../cli/npm-link.html">npm-link(1)</a></li><li><a href="../cli/npm-rebuild.html">npm-rebuild(1)</a></li><li><a href="../misc/npm-scripts.html">npm-scripts(7)</a></li><li><a href="../cli/npm-build.html">npm-build(1)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li><li><a href="../files/npm-folders.html">npm-folders(5)</a></li><li><a href="../cli/npm-tag.html">npm-tag(1)</a></li><li><a href="../cli/npm-rm.html">npm-rm(1)</a></li><li><a href="../cli/npm-shrinkwrap.html">npm-shrinkwrap(1)</a></li></ul>
+<ul><li><a href="../files/npm-folders.html">npm-folders(5)</a></li><li><a href="../cli/npm-update.html">npm-update(1)</a></li><li><a href="../cli/npm-link.html">npm-link(1)</a></li><li><a href="../cli/npm-rebuild.html">npm-rebuild(1)</a></li><li><a href="../misc/npm-scripts.html">npm-scripts(7)</a></li><li><a href="../cli/npm-build.html">npm-build(1)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li><li><a href="../cli/npm-tag.html">npm-tag(1)</a></li><li><a href="../cli/npm-rm.html">npm-rm(1)</a></li><li><a href="../cli/npm-shrinkwrap.html">npm-shrinkwrap(1)</a></li></ul>
</div>
<table border=0 cellspacing=0 cellpadding=0 id=npmlogo>
@@ -165,5 +166,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@1.4.6</p>
+<p id="footer">npm-install &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-link.html b/deps/npm/html/doc/cli/npm-link.html
index f8b8dee121e..063b2a4c4a9 100644
--- a/deps/npm/html/doc/cli/npm-link.html
+++ b/deps/npm/html/doc/cli/npm-link.html
@@ -3,6 +3,7 @@
<title>npm-link</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-link.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -74,5 +75,5 @@ installation target into your project&#39;s <code>node_modules</code> folder.</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@1.4.6</p>
+<p id="footer">npm-link &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-ls.html b/deps/npm/html/doc/cli/npm-ls.html
index 8b75ccc76e3..568e4e142de 100644
--- a/deps/npm/html/doc/cli/npm-ls.html
+++ b/deps/npm/html/doc/cli/npm-ls.html
@@ -3,6 +3,7 @@
<title>npm-ls</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-ls.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -27,7 +28,7 @@ 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@1.4.6 /path/to/npm
+<pre><code>npm@1.4.8 /path/to/npm
└─┬ init-package-json@0.0.4
└── promzard@0.1.5</code></pre>
@@ -86,5 +87,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@1.4.6</p>
+<p id="footer">npm-ls &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-outdated.html b/deps/npm/html/doc/cli/npm-outdated.html
index 015d9120c32..ee938ac08a2 100644
--- a/deps/npm/html/doc/cli/npm-outdated.html
+++ b/deps/npm/html/doc/cli/npm-outdated.html
@@ -3,6 +3,7 @@
<title>npm-outdated</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-outdated.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -70,5 +71,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@1.4.6</p>
+<p id="footer">npm-outdated &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-owner.html b/deps/npm/html/doc/cli/npm-owner.html
index 542228cf412..2fba0e09310 100644
--- a/deps/npm/html/doc/cli/npm-owner.html
+++ b/deps/npm/html/doc/cli/npm-owner.html
@@ -3,6 +3,7 @@
<title>npm-owner</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-owner.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -46,5 +47,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@1.4.6</p>
+<p id="footer">npm-owner &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-pack.html b/deps/npm/html/doc/cli/npm-pack.html
index 99608776fa9..323da3e70f2 100644
--- a/deps/npm/html/doc/cli/npm-pack.html
+++ b/deps/npm/html/doc/cli/npm-pack.html
@@ -3,6 +3,7 @@
<title>npm-pack</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-pack.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -41,5 +42,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@1.4.6</p>
+<p id="footer">npm-pack &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-prefix.html b/deps/npm/html/doc/cli/npm-prefix.html
index e7a8eebbb91..fce8f433976 100644
--- a/deps/npm/html/doc/cli/npm-prefix.html
+++ b/deps/npm/html/doc/cli/npm-prefix.html
@@ -3,6 +3,7 @@
<title>npm-prefix</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-prefix.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -32,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-prefix &mdash; npm@1.4.6</p>
+<p id="footer">npm-prefix &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-prune.html b/deps/npm/html/doc/cli/npm-prune.html
index baf66973504..e7ee0ee6ae6 100644
--- a/deps/npm/html/doc/cli/npm-prune.html
+++ b/deps/npm/html/doc/cli/npm-prune.html
@@ -3,6 +3,7 @@
<title>npm-prune</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-prune.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -41,5 +42,5 @@ packages specified in your <code>devDependencies</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@1.4.6</p>
+<p id="footer">npm-prune &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-publish.html b/deps/npm/html/doc/cli/npm-publish.html
index f11179ed98e..14572af70c6 100644
--- a/deps/npm/html/doc/cli/npm-publish.html
+++ b/deps/npm/html/doc/cli/npm-publish.html
@@ -3,6 +3,7 @@
<title>npm-publish</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-publish.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -48,5 +49,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@1.4.6</p>
+<p id="footer">npm-publish &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-rebuild.html b/deps/npm/html/doc/cli/npm-rebuild.html
index f2ff2f5ba9a..bc4061bd910 100644
--- a/deps/npm/html/doc/cli/npm-rebuild.html
+++ b/deps/npm/html/doc/cli/npm-rebuild.html
@@ -3,6 +3,7 @@
<title>npm-rebuild</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-rebuild.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -38,5 +39,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@1.4.6</p>
+<p id="footer">npm-rebuild &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-repo.html b/deps/npm/html/doc/cli/npm-repo.html
index bbf00663de9..17851420675 100644
--- a/deps/npm/html/doc/cli/npm-repo.html
+++ b/deps/npm/html/doc/cli/npm-repo.html
@@ -3,6 +3,7 @@
<title>npm-repo</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-repo.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -44,5 +45,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@1.4.6</p>
+<p id="footer">npm-repo &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-restart.html b/deps/npm/html/doc/cli/npm-restart.html
index f36b69282ac..df666ff85f9 100644
--- a/deps/npm/html/doc/cli/npm-restart.html
+++ b/deps/npm/html/doc/cli/npm-restart.html
@@ -3,6 +3,7 @@
<title>npm-restart</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-restart.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -36,5 +37,5 @@ the &quot;start&quot; script.</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@1.4.6</p>
+<p id="footer">npm-restart &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-rm.html b/deps/npm/html/doc/cli/npm-rm.html
index 8d06cca21d2..5a66704a338 100644
--- a/deps/npm/html/doc/cli/npm-rm.html
+++ b/deps/npm/html/doc/cli/npm-rm.html
@@ -3,6 +3,7 @@
<title>npm-rm</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-rm.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -36,5 +37,5 @@ on its behalf.</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-rm &mdash; npm@1.4.6</p>
+<p id="footer">npm-rm &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-root.html b/deps/npm/html/doc/cli/npm-root.html
index a4e0bd24c42..527667f7294 100644
--- a/deps/npm/html/doc/cli/npm-root.html
+++ b/deps/npm/html/doc/cli/npm-root.html
@@ -3,6 +3,7 @@
<title>npm-root</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-root.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -32,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-root &mdash; npm@1.4.6</p>
+<p id="footer">npm-root &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-run-script.html b/deps/npm/html/doc/cli/npm-run-script.html
index 13d2d43053e..c602aeb6985 100644
--- a/deps/npm/html/doc/cli/npm-run-script.html
+++ b/deps/npm/html/doc/cli/npm-run-script.html
@@ -3,6 +3,7 @@
<title>npm-run-script</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-run-script.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -12,11 +13,13 @@
<h2 id="SYNOPSIS">SYNOPSIS</h2>
-<pre><code>npm run-script &lt;script&gt; &lt;name&gt;</code></pre>
+<pre><code>npm run-script [&lt;pkg&gt;] &lt;command&gt;</code></pre>
<h2 id="DESCRIPTION">DESCRIPTION</h2>
-<p>This runs an arbitrary command from a package&#39;s &quot;scripts&quot; object.</p>
+<p>This runs an arbitrary command from a package&#39;s <code>&quot;scripts&quot;</code> object.
+If no package name is provided, it will search for a <code>package.json</code>
+in the current folder and use its <code>&quot;scripts&quot;</code> object.</p>
<p>It is used by the test, start, restart, and stop commands, but can be
called directly, as well.</p>
@@ -35,5 +38,5 @@ called directly, as well.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-run-script &mdash; npm@1.4.6</p>
+<p id="footer">npm-run-script &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-search.html b/deps/npm/html/doc/cli/npm-search.html
index f66445b01a0..7df4e26149e 100644
--- a/deps/npm/html/doc/cli/npm-search.html
+++ b/deps/npm/html/doc/cli/npm-search.html
@@ -3,6 +3,7 @@
<title>npm-search</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-search.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -49,5 +50,5 @@ fall on multiple lines.</p>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-search &mdash; npm@1.4.6</p>
+<p id="footer">npm-search &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-shrinkwrap.html b/deps/npm/html/doc/cli/npm-shrinkwrap.html
index ca5da85f4a2..1f0464e0b8d 100644
--- a/deps/npm/html/doc/cli/npm-shrinkwrap.html
+++ b/deps/npm/html/doc/cli/npm-shrinkwrap.html
@@ -3,6 +3,7 @@
<title>npm-shrinkwrap</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-shrinkwrap.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -195,5 +196,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@1.4.6</p>
+<p id="footer">npm-shrinkwrap &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-star.html b/deps/npm/html/doc/cli/npm-star.html
index a0761b533a3..a02ba32c02d 100644
--- a/deps/npm/html/doc/cli/npm-star.html
+++ b/deps/npm/html/doc/cli/npm-star.html
@@ -3,6 +3,7 @@
<title>npm-star</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-star.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -38,5 +39,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@1.4.6</p>
+<p id="footer">npm-star &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-stars.html b/deps/npm/html/doc/cli/npm-stars.html
index 067c4154333..9f1568fc249 100644
--- a/deps/npm/html/doc/cli/npm-stars.html
+++ b/deps/npm/html/doc/cli/npm-stars.html
@@ -3,6 +3,7 @@
<title>npm-stars</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-stars.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -37,5 +38,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@1.4.6</p>
+<p id="footer">npm-stars &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-start.html b/deps/npm/html/doc/cli/npm-start.html
index 0208291c2e0..c8e48649576 100644
--- a/deps/npm/html/doc/cli/npm-start.html
+++ b/deps/npm/html/doc/cli/npm-start.html
@@ -3,6 +3,7 @@
<title>npm-start</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-start.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -32,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-start &mdash; npm@1.4.6</p>
+<p id="footer">npm-start &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-stop.html b/deps/npm/html/doc/cli/npm-stop.html
index 71b9bb66a1a..b746a6111f8 100644
--- a/deps/npm/html/doc/cli/npm-stop.html
+++ b/deps/npm/html/doc/cli/npm-stop.html
@@ -3,6 +3,7 @@
<title>npm-stop</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-stop.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -32,5 +33,5 @@
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
-<p id="footer">npm-stop &mdash; npm@1.4.6</p>
+<p id="footer">npm-stop &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-submodule.html b/deps/npm/html/doc/cli/npm-submodule.html
index cd574596512..f4358281afa 100644
--- a/deps/npm/html/doc/cli/npm-submodule.html
+++ b/deps/npm/html/doc/cli/npm-submodule.html
@@ -3,6 +3,7 @@
<title>npm-submodule</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-submodule.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -45,5 +46,5 @@ dependencies into the submodule folder.</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-submodule &mdash; npm@1.4.6</p>
+<p id="footer">npm-submodule &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-tag.html b/deps/npm/html/doc/cli/npm-tag.html
index b0d248c6902..26c36d4f8f7 100644
--- a/deps/npm/html/doc/cli/npm-tag.html
+++ b/deps/npm/html/doc/cli/npm-tag.html
@@ -3,6 +3,7 @@
<title>npm-tag</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-tag.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -46,5 +47,5 @@ of using a specific 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-tag &mdash; npm@1.4.6</p>
+<p id="footer">npm-tag &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-test.html b/deps/npm/html/doc/cli/npm-test.html
index f11d1de7486..d36b4df7fbc 100644
--- a/deps/npm/html/doc/cli/npm-test.html
+++ b/deps/npm/html/doc/cli/npm-test.html
@@ -3,6 +3,7 @@
<title>npm-test</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-test.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -36,5 +37,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@1.4.6</p>
+<p id="footer">npm-test &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-uninstall.html b/deps/npm/html/doc/cli/npm-uninstall.html
index 7f24b1ae2b9..f77e270b37a 100644
--- a/deps/npm/html/doc/cli/npm-uninstall.html
+++ b/deps/npm/html/doc/cli/npm-uninstall.html
@@ -3,6 +3,7 @@
<title>npm-uninstall</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-uninstall.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -52,5 +53,5 @@ npm uninstall dtrace-provider --save-optional</code></pre>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@1.4.6</p>
+<p id="footer">npm-uninstall &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-unpublish.html b/deps/npm/html/doc/cli/npm-unpublish.html
index 86dc398667e..e7864dca839 100644
--- a/deps/npm/html/doc/cli/npm-unpublish.html
+++ b/deps/npm/html/doc/cli/npm-unpublish.html
@@ -3,6 +3,7 @@
<title>npm-unpublish</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-unpublish.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -50,5 +51,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@1.4.6</p>
+<p id="footer">npm-unpublish &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-update.html b/deps/npm/html/doc/cli/npm-update.html
index 95548b6b1d6..ca7974d2ca2 100644
--- a/deps/npm/html/doc/cli/npm-update.html
+++ b/deps/npm/html/doc/cli/npm-update.html
@@ -3,6 +3,7 @@
<title>npm-update</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-update.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -38,5 +39,5 @@ If no package name is specified, all packages in the specified location (global
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@1.4.6</p>
+<p id="footer">npm-update &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-version.html b/deps/npm/html/doc/cli/npm-version.html
index 130b04b5bb0..88fc4e6470e 100644
--- a/deps/npm/html/doc/cli/npm-version.html
+++ b/deps/npm/html/doc/cli/npm-version.html
@@ -3,6 +3,7 @@
<title>npm-version</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-version.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -61,5 +62,5 @@ Enter passphrase:</code></pre>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@1.4.6</p>
+<p id="footer">npm-version &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-view.html b/deps/npm/html/doc/cli/npm-view.html
index 048bba314b6..83a295aa532 100644
--- a/deps/npm/html/doc/cli/npm-view.html
+++ b/deps/npm/html/doc/cli/npm-view.html
@@ -3,6 +3,7 @@
<title>npm-view</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-view.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -103,5 +104,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@1.4.6</p>
+<p id="footer">npm-view &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm-whoami.html b/deps/npm/html/doc/cli/npm-whoami.html
index ee4e9ef62fa..9330dc3b214 100644
--- a/deps/npm/html/doc/cli/npm-whoami.html
+++ b/deps/npm/html/doc/cli/npm-whoami.html
@@ -3,6 +3,7 @@
<title>npm-whoami</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-whoami.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -32,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@1.4.6</p>
+<p id="footer">npm-whoami &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/cli/npm.html b/deps/npm/html/doc/cli/npm.html
index e6671c00cd3..50a4bb65bd4 100644
--- a/deps/npm/html/doc/cli/npm.html
+++ b/deps/npm/html/doc/cli/npm.html
@@ -3,6 +3,7 @@
<title>npm</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/cli/npm.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -16,7 +17,7 @@
<h2 id="VERSION">VERSION</h2>
-<p>1.4.6</p>
+<p>1.4.8</p>
<h2 id="DESCRIPTION">DESCRIPTION</h2>
@@ -143,5 +144,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@1.4.6</p>
+<p id="footer">npm &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/files/npm-folders.html b/deps/npm/html/doc/files/npm-folders.html
index 77a674b512f..eb9606b5c5b 100644
--- a/deps/npm/html/doc/files/npm-folders.html
+++ b/deps/npm/html/doc/files/npm-folders.html
@@ -3,6 +3,7 @@
<title>npm-folders</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/files/npm-folders.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -217,5 +218,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@1.4.6</p>
+<p id="footer">npm-folders &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/files/npm-global.html b/deps/npm/html/doc/files/npm-global.html
index 77a674b512f..eb9606b5c5b 100644
--- a/deps/npm/html/doc/files/npm-global.html
+++ b/deps/npm/html/doc/files/npm-global.html
@@ -3,6 +3,7 @@
<title>npm-folders</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/files/npm-folders.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -217,5 +218,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@1.4.6</p>
+<p id="footer">npm-folders &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/files/npm-json.html b/deps/npm/html/doc/files/npm-json.html
index 9dbb57d6d2a..bcb0a56bf8b 100644
--- a/deps/npm/html/doc/files/npm-json.html
+++ b/deps/npm/html/doc/files/npm-json.html
@@ -3,6 +3,7 @@
<title>package.json</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/files/package.json.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -310,7 +311,7 @@ a tarball or git URL.</p>
<p>See <a href="../misc/semver.html">semver(7)</a> for more details about specifying version ranges.</p>
-<ul><li><code>version</code> Must match <code>version</code> exactly</li><li><code>&gt;version</code> Must be greater than <code>version</code></li><li><code>&gt;=version</code> etc</li><li><code>&lt;version</code></li><li><code>&lt;=version</code></li><li><code>~version</code> &quot;Approximately equivalent to version&quot; See <a href="../misc/semver.html">semver(7)</a></li><li><code>1.2.x</code> 1.2.0, 1.2.1, etc., but not 1.3.0</li><li><code>http://...</code> See &#39;URLs as Dependencies&#39; below</li><li><code>*</code> Matches any version</li><li><code>&quot;&quot;</code> (just an empty string) Same as <code>*</code></li><li><code>version1 - version2</code> Same as <code>&gt;=version1 &lt;=version2</code>.</li><li><code>range1 || range2</code> Passes if either range1 or range2 are satisfied.</li><li><code>git...</code> See &#39;Git URLs as Dependencies&#39; below</li><li><code>user/repo</code> See &#39;GitHub URLs&#39; below</li></ul>
+<ul><li><code>version</code> Must match <code>version</code> exactly</li><li><code>&gt;version</code> Must be greater than <code>version</code></li><li><code>&gt;=version</code> etc</li><li><code>&lt;version</code></li><li><code>&lt;=version</code></li><li><code>~version</code> &quot;Approximately equivalent to version&quot; See <a href="../misc/semver.html">semver(7)</a></li><li><code>^version</code> &quot;Compatible with version&quot; See <a href="../misc/semver.html">semver(7)</a></li><li><code>1.2.x</code> 1.2.0, 1.2.1, etc., but not 1.3.0</li><li><code>http://...</code> See &#39;URLs as Dependencies&#39; below</li><li><code>*</code> Matches any version</li><li><code>&quot;&quot;</code> (just an empty string) Same as <code>*</code></li><li><code>version1 - version2</code> Same as <code>&gt;=version1 &lt;=version2</code>.</li><li><code>range1 || range2</code> Passes if either range1 or range2 are satisfied.</li><li><code>git...</code> See &#39;Git URLs as Dependencies&#39; below</li><li><code>user/repo</code> See &#39;GitHub URLs&#39; below</li></ul>
<p>For example, these are all valid:</p>
@@ -396,6 +397,40 @@ can consume the functionality without requiring them to compile it
themselves. In dev mode (ie, locally running <code>npm install</code>), it&#39;ll
run this script as well, so that you can test it easily.</p>
+<h2 id="peerDependencies">peerDependencies</h2>
+
+<p>In some cases, you want to express the compatibility of your package with an
+host tool or library, while not necessarily doing a <code>require</code> of this host.
+This is usually refered to as a <em>plugin</em>. Notably, your module may be exposing
+a specific interface, expected and specified by the host documentation.</p>
+
+<p>For example:</p>
+
+<pre><code>{
+ &quot;name&quot;: &quot;tea-latte&quot;,
+ &quot;version&quot;: &quot;1.3.5&quot;
+ &quot;peerDependencies&quot;: {
+ &quot;tea&quot;: &quot;2.x&quot;
+ }
+}</code></pre>
+
+<p>This ensures your package <code>tea-latte</code> can be installed <em>along</em> with the second
+major version of the host package <code>tea</code> only. The host package is automatically
+installed if needed. <code>npm install tea-latte</code> could possibly yield the following
+dependency graph:</p>
+
+<pre><code>├── tea-latte@1.3.5
+└── tea@2.2.0</code></pre>
+
+<p>Trying to install another plugin with a conflicting requirement will cause an
+error. For this reason, make sure your plugin requirement is as broad as
+possible, and not to lock it down to specific patch versions.</p>
+
+<p>Assuming the host complies with <a href="http://semver.org/">semver</a>, only changes in
+the host package&#39;s major version will break your plugin. Thus, if you&#39;ve worked
+with every 1.x version of the host package, use <code>&quot;^1.0&quot;</code> or <code>&quot;1.x&quot;</code> to express
+this. If you depend on features introduced in 1.5.2, use <code>&quot;&gt;= 1.5.2 &lt; 2&quot;</code>.</p>
+
<h2 id="bundledDependencies">bundledDependencies</h2>
<p>Array of package names that will be bundled when publishing the package.</p>
@@ -554,5 +589,5 @@ ignored.</p></li></ul>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(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@1.4.6</p>
+<p id="footer">package.json &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/files/npmrc.html b/deps/npm/html/doc/files/npmrc.html
index f003e807e75..10dff0f1b6f 100644
--- a/deps/npm/html/doc/files/npmrc.html
+++ b/deps/npm/html/doc/files/npmrc.html
@@ -3,6 +3,7 @@
<title>npmrc</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/files/npmrc.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -71,5 +72,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@1.4.6</p>
+<p id="footer">npmrc &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/files/package.json.html b/deps/npm/html/doc/files/package.json.html
index 9dbb57d6d2a..bcb0a56bf8b 100644
--- a/deps/npm/html/doc/files/package.json.html
+++ b/deps/npm/html/doc/files/package.json.html
@@ -3,6 +3,7 @@
<title>package.json</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/files/package.json.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -310,7 +311,7 @@ a tarball or git URL.</p>
<p>See <a href="../misc/semver.html">semver(7)</a> for more details about specifying version ranges.</p>
-<ul><li><code>version</code> Must match <code>version</code> exactly</li><li><code>&gt;version</code> Must be greater than <code>version</code></li><li><code>&gt;=version</code> etc</li><li><code>&lt;version</code></li><li><code>&lt;=version</code></li><li><code>~version</code> &quot;Approximately equivalent to version&quot; See <a href="../misc/semver.html">semver(7)</a></li><li><code>1.2.x</code> 1.2.0, 1.2.1, etc., but not 1.3.0</li><li><code>http://...</code> See &#39;URLs as Dependencies&#39; below</li><li><code>*</code> Matches any version</li><li><code>&quot;&quot;</code> (just an empty string) Same as <code>*</code></li><li><code>version1 - version2</code> Same as <code>&gt;=version1 &lt;=version2</code>.</li><li><code>range1 || range2</code> Passes if either range1 or range2 are satisfied.</li><li><code>git...</code> See &#39;Git URLs as Dependencies&#39; below</li><li><code>user/repo</code> See &#39;GitHub URLs&#39; below</li></ul>
+<ul><li><code>version</code> Must match <code>version</code> exactly</li><li><code>&gt;version</code> Must be greater than <code>version</code></li><li><code>&gt;=version</code> etc</li><li><code>&lt;version</code></li><li><code>&lt;=version</code></li><li><code>~version</code> &quot;Approximately equivalent to version&quot; See <a href="../misc/semver.html">semver(7)</a></li><li><code>^version</code> &quot;Compatible with version&quot; See <a href="../misc/semver.html">semver(7)</a></li><li><code>1.2.x</code> 1.2.0, 1.2.1, etc., but not 1.3.0</li><li><code>http://...</code> See &#39;URLs as Dependencies&#39; below</li><li><code>*</code> Matches any version</li><li><code>&quot;&quot;</code> (just an empty string) Same as <code>*</code></li><li><code>version1 - version2</code> Same as <code>&gt;=version1 &lt;=version2</code>.</li><li><code>range1 || range2</code> Passes if either range1 or range2 are satisfied.</li><li><code>git...</code> See &#39;Git URLs as Dependencies&#39; below</li><li><code>user/repo</code> See &#39;GitHub URLs&#39; below</li></ul>
<p>For example, these are all valid:</p>
@@ -396,6 +397,40 @@ can consume the functionality without requiring them to compile it
themselves. In dev mode (ie, locally running <code>npm install</code>), it&#39;ll
run this script as well, so that you can test it easily.</p>
+<h2 id="peerDependencies">peerDependencies</h2>
+
+<p>In some cases, you want to express the compatibility of your package with an
+host tool or library, while not necessarily doing a <code>require</code> of this host.
+This is usually refered to as a <em>plugin</em>. Notably, your module may be exposing
+a specific interface, expected and specified by the host documentation.</p>
+
+<p>For example:</p>
+
+<pre><code>{
+ &quot;name&quot;: &quot;tea-latte&quot;,
+ &quot;version&quot;: &quot;1.3.5&quot;
+ &quot;peerDependencies&quot;: {
+ &quot;tea&quot;: &quot;2.x&quot;
+ }
+}</code></pre>
+
+<p>This ensures your package <code>tea-latte</code> can be installed <em>along</em> with the second
+major version of the host package <code>tea</code> only. The host package is automatically
+installed if needed. <code>npm install tea-latte</code> could possibly yield the following
+dependency graph:</p>
+
+<pre><code>├── tea-latte@1.3.5
+└── tea@2.2.0</code></pre>
+
+<p>Trying to install another plugin with a conflicting requirement will cause an
+error. For this reason, make sure your plugin requirement is as broad as
+possible, and not to lock it down to specific patch versions.</p>
+
+<p>Assuming the host complies with <a href="http://semver.org/">semver</a>, only changes in
+the host package&#39;s major version will break your plugin. Thus, if you&#39;ve worked
+with every 1.x version of the host package, use <code>&quot;^1.0&quot;</code> or <code>&quot;1.x&quot;</code> to express
+this. If you depend on features introduced in 1.5.2, use <code>&quot;&gt;= 1.5.2 &lt; 2&quot;</code>.</p>
+
<h2 id="bundledDependencies">bundledDependencies</h2>
<p>Array of package names that will be bundled when publishing the package.</p>
@@ -554,5 +589,5 @@ ignored.</p></li></ul>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(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@1.4.6</p>
+<p id="footer">package.json &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/index.html b/deps/npm/html/doc/index.html
index 1c673fa198e..8ddfe6853d8 100644
--- a/deps/npm/html/doc/index.html
+++ b/deps/npm/html/doc/index.html
@@ -3,6 +3,7 @@
<title>npm-index</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/index.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -428,5 +429,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@1.4.6</p>
+<p id="footer">npm-index &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/misc/npm-coding-style.html b/deps/npm/html/doc/misc/npm-coding-style.html
index 5e1992443cc..718683cc64e 100644
--- a/deps/npm/html/doc/misc/npm-coding-style.html
+++ b/deps/npm/html/doc/misc/npm-coding-style.html
@@ -3,6 +3,7 @@
<title>npm-coding-style</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/misc/npm-coding-style.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -194,5 +195,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@1.4.6</p>
+<p id="footer">npm-coding-style &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/misc/npm-config.html b/deps/npm/html/doc/misc/npm-config.html
index 5f4dec5acab..54ff62e0717 100644
--- a/deps/npm/html/doc/misc/npm-config.html
+++ b/deps/npm/html/doc/misc/npm-config.html
@@ -3,6 +3,7 @@
<title>npm-config</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/misc/npm-config.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -565,6 +566,17 @@ devDependencies hash.</p>
<p>Only works if there is already a package.json file present.</p>
+<h3 id="save-prefix">save-prefix</h3>
+
+<ul><li>Default: &#39;^&#39;</li><li>Type: String</li></ul>
+
+<p>Configure how versions of packages installed to a package.json file via
+<code>--save</code> or <code>--save-dev</code> get prefixed.</p>
+
+<p>For example if a package has version <code>1.2.3</code>, by default it&#39;s version is
+set to <code>^1.2.3</code> which allows minor upgrades for that package, but after<br /><code>npm config set save-prefix=&#39;~&#39;</code> it would be set to <code>~1.2.3</code> which only allows
+patch upgrades.</p>
+
<h3 id="searchopts">searchopts</h3>
<ul><li>Default: &quot;&quot;</li><li>Type: String</li></ul>
@@ -731,5 +743,5 @@ hash, and 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@1.4.6</p>
+<p id="footer">npm-config &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/misc/npm-developers.html b/deps/npm/html/doc/misc/npm-developers.html
index 25a6348ca78..c079166bd9f 100644
--- a/deps/npm/html/doc/misc/npm-developers.html
+++ b/deps/npm/html/doc/misc/npm-developers.html
@@ -3,6 +3,7 @@
<title>npm-developers</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/misc/npm-developers.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -186,5 +187,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@1.4.6</p>
+<p id="footer">npm-developers &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/misc/npm-disputes.html b/deps/npm/html/doc/misc/npm-disputes.html
index 87cf6b2fd37..b6fa66273f6 100644
--- a/deps/npm/html/doc/misc/npm-disputes.html
+++ b/deps/npm/html/doc/misc/npm-disputes.html
@@ -3,6 +3,7 @@
<title>npm-disputes</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/misc/npm-disputes.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -104,5 +105,5 @@ things into it.</li></ol>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@1.4.6</p>
+<p id="footer">npm-disputes &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/misc/npm-faq.html b/deps/npm/html/doc/misc/npm-faq.html
index 298b44548b8..556f1cb8e0e 100644
--- a/deps/npm/html/doc/misc/npm-faq.html
+++ b/deps/npm/html/doc/misc/npm-faq.html
@@ -3,6 +3,7 @@
<title>npm-faq</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/misc/npm-faq.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -85,7 +86,7 @@ in a shell script if you really wanted to.</p>
<p>Mikeal Rogers answered this question very well:</p>
-<p><a href="http://www.mikealrogers.com/posts/nodemodules-in-git.html">http://www.mikealrogers.com/posts/nodemodules-in-git.html</a></p>
+<p><a href="http://www.futurealoof.com/posts/nodemodules-in-git.html">http://www.futurealoof.com/posts/nodemodules-in-git.html</a></p>
<p>tl;dr</p>
@@ -360,5 +361,5 @@ good folks at <a href="https://www.npmjs.com">npm, Inc.</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-faq &mdash; npm@1.4.6</p>
+<p id="footer">npm-faq &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/misc/npm-index.html b/deps/npm/html/doc/misc/npm-index.html
index b92a2147317..b4892a7bb0d 100644
--- a/deps/npm/html/doc/misc/npm-index.html
+++ b/deps/npm/html/doc/misc/npm-index.html
@@ -3,6 +3,7 @@
<title>npm-index</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/misc/npm-index.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -428,5 +429,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@1.4.6</p>
+<p id="footer">npm-index &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/misc/npm-registry.html b/deps/npm/html/doc/misc/npm-registry.html
index 79c9957b753..0828d93f8c5 100644
--- a/deps/npm/html/doc/misc/npm-registry.html
+++ b/deps/npm/html/doc/misc/npm-registry.html
@@ -3,6 +3,7 @@
<title>npm-registry</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/misc/npm-registry.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -83,5 +84,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@1.4.6</p>
+<p id="footer">npm-registry &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/misc/npm-scripts.html b/deps/npm/html/doc/misc/npm-scripts.html
index 16f9a53e619..c1e77d6fb53 100644
--- a/deps/npm/html/doc/misc/npm-scripts.html
+++ b/deps/npm/html/doc/misc/npm-scripts.html
@@ -3,6 +3,7 @@
<title>npm-scripts</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/misc/npm-scripts.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -235,5 +236,5 @@ the user will sudo the npm command in question.</li></ul>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@1.4.6</p>
+<p id="footer">npm-scripts &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/misc/removing-npm.html b/deps/npm/html/doc/misc/removing-npm.html
index c79e6775426..08d7a4f7d87 100644
--- a/deps/npm/html/doc/misc/removing-npm.html
+++ b/deps/npm/html/doc/misc/removing-npm.html
@@ -3,6 +3,7 @@
<title>removing-npm</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/misc/removing-npm.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -70,5 +71,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@1.4.6</p>
+<p id="footer">removing-npm &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/doc/misc/semver.html b/deps/npm/html/doc/misc/semver.html
index 893858ab407..3dae36b08e2 100644
--- a/deps/npm/html/doc/misc/semver.html
+++ b/deps/npm/html/doc/misc/semver.html
@@ -3,6 +3,7 @@
<title>semver</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/doc/misc/semver.html">
<script async=true src="../../static/toc.js"></script>
<body>
@@ -129,5 +130,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@1.4.6</p>
+<p id="footer">semver &mdash; npm@1.4.8</p>
diff --git a/deps/npm/html/dochead.html b/deps/npm/html/dochead.html
index f2c8a6bad1a..e2f0e83d78e 100644
--- a/deps/npm/html/dochead.html
+++ b/deps/npm/html/dochead.html
@@ -3,6 +3,7 @@
<title>@NAME@</title>
<meta http-equiv="content-type" value="text/html;utf-8">
<link rel="stylesheet" type="text/css" href="../../static/style.css">
+ <link rel="canonical" href="https://www.npmjs.org/@URL@">
<script async=true src="../../static/toc.js"></script>
<body>
diff --git a/deps/npm/lib/adduser.js b/deps/npm/lib/adduser.js
index 739f14243f1..94a119683a7 100644
--- a/deps/npm/lib/adduser.js
+++ b/deps/npm/lib/adduser.js
@@ -66,15 +66,24 @@ function readUsername (c, u, cb) {
function readPassword (c, u, cb) {
var v = userValidate.pw
- if (!c.changed) {
- u.p = c.p
- return cb()
+ var prompt
+ if (c.p && !c.changed) {
+ prompt = "Password: (or leave unchanged) "
+ } else {
+ prompt = "Password: "
}
- read({prompt: "Password: ", silent: true}, function (er, pw) {
+
+ read({prompt: prompt, silent: true}, function (er, pw) {
if (er) {
return cb(er.message === "cancelled" ? er.message : er)
}
+ if (!c.changed && pw === "") {
+ // when the username was not changed,
+ // empty response means "use the old value"
+ pw = c.p
+ }
+
if (!pw) {
return readPassword(c, u, cb)
}
@@ -85,6 +94,7 @@ function readPassword (c, u, cb) {
return readPassword(c, u, cb)
}
+ c.changed = c.changed || c.p != pw
u.p = pw
cb(er)
})
diff --git a/deps/npm/lib/cache.js b/deps/npm/lib/cache.js
index 3b9a46f6978..5c2d07840ea 100644
--- a/deps/npm/lib/cache.js
+++ b/deps/npm/lib/cache.js
@@ -84,6 +84,7 @@ var mkdir = require("mkdirp")
, which = require("which")
, isGitUrl = require("./utils/is-git-url.js")
, pathIsInside = require("path-is-inside")
+ , http = require("http")
cache.usage = "npm cache add <tarball file>"
+ "\nnpm cache add <folder>"
@@ -241,9 +242,10 @@ function add (args, cb) {
log.verbose("cache add", "name=%j spec=%j args=%j", name, spec, args)
-
if (!name && !spec) return cb(usage)
+ cb = afterAdd([name, spec], cb)
+
// see if the spec is a url
// otherwise, treat as name@version
var p = url.parse(spec) || {}
@@ -265,6 +267,23 @@ function add (args, cb) {
add_(name, spec, p, cb)
}
+function afterAdd (arg, cb) { return function (er, data) {
+ if (er || !data || !data.name || !data.version) {
+ return cb(er, data)
+ }
+
+ // Save the resolved, shasum, etc. into the data so that the next
+ // time we load from this cached data, we have all the same info.
+ var name = data.name
+ var ver = data.version
+ var pj = path.join(npm.cache, name, ver, "package", "package.json")
+ fs.writeFile(pj, JSON.stringify(data), "utf8", function (er) {
+ cb(er, data)
+ })
+}}
+
+
+
function maybeFile (spec, p, cb) {
fs.stat(spec, function (er, stat) {
if (!er) {
@@ -316,7 +335,15 @@ function fetchAndShaCheck (u, tmp, shasum, cb) {
log.error("fetch failed", u)
return cb(er, response)
}
- if (!shasum) return cb(null, response)
+
+ if (!shasum) {
+ // Well, we weren't given a shasum, so at least sha what we have
+ // in case we want to compare it to something else later
+ return sha.get(tmp, function (er, shasum) {
+ cb(er, response, shasum)
+ })
+ }
+
// validate that the url we just downloaded matches the expected shasum.
sha.check(tmp, shasum, function (er) {
if (er != null && er.message) {
@@ -331,7 +358,8 @@ function fetchAndShaCheck (u, tmp, shasum, cb) {
// Only have a single download action at once for a given url
// additional calls stack the callbacks.
var inFlightURLs = {}
-function addRemoteTarball (u, shasum, name, cb_) {
+function addRemoteTarball (u, shasum, name, version, cb_) {
+ if (typeof cb_ !== "function") cb_ = version, version = ""
if (typeof cb_ !== "function") cb_ = name, name = ""
if (typeof cb_ !== "function") cb_ = shasum, shasum = null
@@ -343,6 +371,7 @@ function addRemoteTarball (u, shasum, name, cb_) {
function cb (er, data) {
if (data) {
data._from = u
+ data._shasum = data._shasum || shasum
data._resolved = u
}
unlock(u, function () {
@@ -366,7 +395,7 @@ function addRemoteTarball (u, shasum, name, cb_) {
function done (er, resp, shasum) {
if (er) return cb(er)
- addLocalTarball(tmp, name, shasum, cb)
+ addLocalTarball(tmp, name, version, shasum, cb)
}
}
@@ -681,6 +710,9 @@ function addNameTag (name, tag, data, cb_) {
}
registry.get(name, function (er, data, json, response) {
+ if (!er) {
+ er = errorResponse(name, resp)
+ }
if (er) return cb(er)
engineFilter(data)
if (data["dist-tags"] && data["dist-tags"][tag]
@@ -716,6 +748,16 @@ function engineFilter (data) {
})
}
+function errorResponse (name, response) {
+ if (response.statusCode >= 400) {
+ var er = new Error(http.STATUS_CODES[response.statusCode])
+ er.statusCode = response.statusCode
+ er.code = "E" + er.statusCode
+ er.pkgid = name
+ }
+ return er
+}
+
function addNameRange (name, range, data, cb) {
if (typeof cb !== "function") cb = data, data = null
@@ -727,6 +769,9 @@ function addNameRange (name, range, data, cb) {
if (data) return next()
registry.get(name, function (er, d, json, response) {
+ if (!er) {
+ er = errorResponse(name, response)
+ }
if (er) return cb(er)
data = d
next()
@@ -791,9 +836,18 @@ function addNameVersion (name, v, data, cb) {
response = null
return next()
}
- registry.get(name + "/" + ver, function (er, d, json, resp) {
+ registry.get(name, function (er, d, json, resp) {
+ if (!er) {
+ er = errorResponse(name, resp)
+ }
if (er) return cb(er)
- data = d
+ data = d && d.versions[ver]
+ if (!data) {
+ er = new Error('version not found: ' + name + '@' + ver)
+ er.package = name
+ er.statusCode = 404
+ return cb(er)
+ }
response = resp
next()
})
@@ -823,6 +877,10 @@ function addNameVersion (name, v, data, cb) {
if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR")
return cb(er)
if (er) return fetchit()
+ // check the SHA of the package we have, to ensure it wasn't installed
+ // from somewhere other than the registry (eg, a fork)
+ if (data._shasum && dist.shasum && data._shasum !== dist.shasum)
+ return fetchit()
return cb(null, data)
})
} else return fetchit()
@@ -853,7 +911,8 @@ function addNameVersion (name, v, data, cb) {
}
return addRemoteTarball( tb
, dist.shasum
- , name+"-"+ver
+ , name
+ , ver
, cb )
}
}
@@ -924,13 +983,23 @@ function maybeGithub (p, name, er, cb) {
}
}
-function addLocalTarball (p, name, shasum, cb_) {
+function addLocalTarball (p, name, version, shasum, cb_) {
if (typeof cb_ !== "function") cb_ = shasum, shasum = null
+ if (typeof cb_ !== "function") cb_ = version, version = ""
if (typeof cb_ !== "function") cb_ = name, name = ""
+
+ // If we don't have a shasum yet, then get the shasum now.
+ if (!shasum) {
+ return sha.get(p, function (er, shasum) {
+ if (er) return cb_(er)
+ addLocalTarball(p, name, version, shasum, cb_)
+ })
+ }
+
// if it's a tar, and not in place,
// then unzip to .tmp, add the tmp folder, and clean up tmp
if (pathIsInside(p, npm.tmp))
- return addTmpTarball(p, name, shasum, cb_)
+ return addTmpTarball(p, name, version, shasum, cb_)
if (pathIsInside(p, npm.cache)) {
if (path.basename(p) !== "package.tgz") return cb_(new Error(
@@ -939,7 +1008,10 @@ function addLocalTarball (p, name, shasum, cb_) {
}
function cb (er, data) {
- if (data) data._resolved = p
+ if (data) {
+ data._resolved = p
+ data._shasum = data._shasum || shasum
+ }
return cb_(er, data)
}
@@ -962,7 +1034,7 @@ function addLocalTarball (p, name, shasum, cb_) {
log.verbose("chmod", tmp, npm.modes.file.toString(8))
fs.chmod(tmp, npm.modes.file, function (er) {
if (er) return cb(er)
- addTmpTarball(tmp, name, shasum, cb)
+ addTmpTarball(tmp, name, null, shasum, cb)
})
})
from.pipe(to)
@@ -1188,6 +1260,10 @@ function addLocalDirectory (p, name, shasum, cb) {
, data.version, "package.tgz" )
, placeDirect = path.basename(p) === "package"
, tgz = placeDirect ? placed : tmptgz
+ , version = data.version
+
+ name = data.name
+
getCacheStat(function (er, cs) {
mkdir(path.dirname(tgz), function (er, made) {
if (er) return cb(er)
@@ -1207,7 +1283,7 @@ function addLocalDirectory (p, name, shasum, cb) {
chownr(made || tgz, cs.uid, cs.gid, function (er) {
if (er) return cb(er)
- addLocalTarball(tgz, name, shasum, cb)
+ addLocalTarball(tgz, name, version, shasum, cb)
})
})
})
@@ -1215,21 +1291,75 @@ function addLocalDirectory (p, name, shasum, cb) {
})
}
-function addTmpTarball (tgz, name, shasum, cb) {
- if (!cb) cb = name, name = ""
+// XXX This is where it should be fixed
+// Right now it's unpacking to a "package" folder, and then
+// adding that local folder, for historical reasons.
+// Instead, unpack to the *cache* folder, and then copy the
+// tgz into place in the cache, so the shasum doesn't change.
+function addTmpTarball (tgz, name, version, shasum, cb) {
+ // Just have a placeholder here so we can move it into place after.
+ var tmp = false
+ if (!version) {
+ tmp = true
+ version = 'tmp_' + crypto.randomBytes(6).toString('hex')
+ }
+ if (!name) {
+ tmp = true
+ name = 'tmp_' + crypto.randomBytes(6).toString('hex')
+ }
+ if (!tmp) {
+ var pdir = path.resolve(npm.cache, name, version, "package")
+ } else {
+ var pdir = path.resolve(npm.cache, name + version + "package")
+ }
+
getCacheStat(function (er, cs) {
if (er) return cb(er)
- var contents = path.dirname(tgz)
- tar.unpack( tgz, path.resolve(contents, "package")
- , null, null
- , cs.uid, cs.gid
- , function (er) {
- if (er) {
- return cb(er)
+ tar.unpack(tgz, pdir, null, null, cs.uid, cs.gid, next)
+ })
+
+ function next (er) {
+ if (er) return cb(er)
+ // it MUST be able to get a version now!
+ var pj = path.resolve(pdir, "package.json")
+ readJson(pj, function (er, data) {
+ if (er) return cb(er)
+ if (version === data.version && name === data.name && !tmp) {
+ addTmpTarball_(tgz, data, name, version, shasum, cb)
+ } else {
+ var old = pdir
+ name = data.name
+ version = data.version
+ pdir = path.resolve(npm.cache, name, version, "package")
+ mkdir(path.dirname(pdir), function(er) {
+ if (er) return cb(er)
+ rm(pdir, function(er) {
+ if (er) return cb(er)
+ fs.rename(old, pdir, function(er) {
+ if (er) return cb(er)
+ rm(old, function(er) {
+ if (er) return cb(er)
+ addTmpTarball_(tgz, data, name, version, shasum, cb)
+ })
+ })
+ })
+ })
}
- addLocalDirectory(path.resolve(contents, "package"), name, shasum, cb)
})
- })
+ }
+}
+
+function addTmpTarball_ (tgz, data, name, version, shasum, cb) {
+ cb = once(cb)
+ var target = path.resolve(npm.cache, name, version, "package.tgz")
+ var read = fs.createReadStream(tgz)
+ var write = fs.createWriteStream(target)
+ read.on("error", cb).pipe(write).on("error", cb).on("close", done)
+
+ function done() {
+ data._shasum = data._shasum || shasum
+ cb(null, data)
+ }
}
function unpack (pkg, ver, unpackTarget, dMode, fMode, uid, gid, cb) {
diff --git a/deps/npm/lib/dedupe.js b/deps/npm/lib/dedupe.js
index 55823d96768..0c2b18a7842 100644
--- a/deps/npm/lib/dedupe.js
+++ b/deps/npm/lib/dedupe.js
@@ -354,4 +354,3 @@ function whoDepends_ (pkg, who, test) {
})
return who
}
-
diff --git a/deps/npm/lib/help.js b/deps/npm/lib/help.js
index ea3970b2409..72b4393b6af 100644
--- a/deps/npm/lib/help.js
+++ b/deps/npm/lib/help.js
@@ -30,8 +30,11 @@ function help (args, cb) {
var section = npm.deref(args[0]) || args[0]
// npm help <noargs>: show basic usage
- if (!section)
- return npmUsage(cb)
+ if (!section) {
+ var valid = argv[0] === 'help' ? 0 : 1
+ return npmUsage(valid, cb)
+ }
+
// npm <cmd> -h: show command usage
if ( npm.config.get("usage")
@@ -147,7 +150,7 @@ function htmlMan (man) {
return path.resolve(__dirname, "..", "html", "doc", sect, f)
}
-function npmUsage (cb) {
+function npmUsage (valid, cb) {
npm.config.set("loglevel", "silent")
log.level = "silent"
console.log
@@ -170,7 +173,7 @@ function npmUsage (cb) {
, ""
, "npm@" + npm.version + " " + path.dirname(__dirname)
].join("\n"))
- cb()
+ cb(valid)
}
function usages () {
diff --git a/deps/npm/lib/install.js b/deps/npm/lib/install.js
index 39c98ecff27..3e319fa6734 100644
--- a/deps/npm/lib/install.js
+++ b/deps/npm/lib/install.js
@@ -337,6 +337,7 @@ function save (where, installed, tree, pretty, hasArguments, cb) {
}
var saveBundle = npm.config.get('save-bundle')
+ var savePrefix = npm.config.get('save-prefix') || "^";
// each item in the tree is a top-level thing that should be saved
// to the package.json file.
@@ -353,7 +354,7 @@ function save (where, installed, tree, pretty, hasArguments, cb) {
var rangeDescriptor = semver.valid(k[1], true) &&
semver.gte(k[1], "0.1.0", true) &&
!npm.config.get("save-exact")
- ? "^" : ""
+ ? savePrefix : ""
set[k[0]] = rangeDescriptor + k[1]
return set
}, {})
@@ -447,7 +448,7 @@ function prettify (tree, installed) {
if (g) g = " (" + g + ")"
return c.what + g
})
- })
+ }, "", { unicode: npm.config.get("unicode") })
}).join("\n")
}
diff --git a/deps/npm/lib/npm.js b/deps/npm/lib/npm.js
index c443b64998b..a529862d5ad 100644
--- a/deps/npm/lib/npm.js
+++ b/deps/npm/lib/npm.js
@@ -288,6 +288,14 @@ function load (npm, cli, cb) {
npmconf.load(cli, builtin, function (er, config) {
if (er === config) er = null
+ // Include npm-version and node-version in user-agent
+ var ua = config.get("user-agent") || ""
+ ua = ua.replace(/\{node-version\}/gi, process.version)
+ ua = ua.replace(/\{npm-version\}/gi, npm.version)
+ ua = ua.replace(/\{platform\}/gi, process.platform)
+ ua = ua.replace(/\{arch\}/gi, process.arch)
+ config.set("user-agent", ua)
+
npm.config = config
var color = config.get("color")
diff --git a/deps/npm/lib/shrinkwrap.js b/deps/npm/lib/shrinkwrap.js
index 48a3e4ae12e..ef5732590e0 100644
--- a/deps/npm/lib/shrinkwrap.js
+++ b/deps/npm/lib/shrinkwrap.js
@@ -59,7 +59,7 @@ function shrinkwrap_ (pkginfo, silent, dev, cb) {
function save (pkginfo, silent, cb) {
// copy the keys over in a well defined order
// because javascript objects serialize arbitrarily
- pkginfo.dependencies = sortedObject(pkginfo.dependencies)
+ pkginfo.dependencies = sortedObject(pkginfo.dependencies || {})
try {
var swdata = JSON.stringify(pkginfo, null, 2) + "\n"
} catch (er) {
diff --git a/deps/npm/lib/utils/error-handler.js b/deps/npm/lib/utils/error-handler.js
index 4286a1c2910..b025fdd371c 100644
--- a/deps/npm/lib/utils/error-handler.js
+++ b/deps/npm/lib/utils/error-handler.js
@@ -146,9 +146,10 @@ function errorHandler (er) {
case "E404":
er.code = "E404"
+ var msg = [er.message]
if (er.pkgid && er.pkgid !== "-") {
- var msg = ["'"+er.pkgid+"' is not in the npm registry."
- ,"You should bug the author to publish it"]
+ msg.push("", "'"+er.pkgid+"' is not in the npm registry."
+ ,"You should bug the author to publish it")
if (er.parent) {
msg.push("It was specified as a dependency of '"+er.parent+"'")
}
@@ -161,8 +162,8 @@ function errorHandler (er) {
}
msg.push("\nNote that you can also install from a"
,"tarball, folder, or http url, or git url.")
- log.error("404", msg.join("\n"))
}
+ log.error("404", msg.join("\n"))
break
case "EPUBLISHCONFLICT":
@@ -278,7 +279,7 @@ function errorHandler (er) {
var os = require("os")
// just a line break
- console.error("")
+ if (log.levels[log.level] <= log.levels.error) console.error("")
log.error("System", os.type() + " " + os.release())
log.error("command", process.argv
.map(JSON.stringify).join(" "))
diff --git a/deps/npm/lib/utils/lifecycle.js b/deps/npm/lib/utils/lifecycle.js
index e6ef925b304..1af5bddca71 100644
--- a/deps/npm/lib/utils/lifecycle.js
+++ b/deps/npm/lib/utils/lifecycle.js
@@ -1,6 +1,6 @@
-
exports = module.exports = lifecycle
exports.cmd = cmd
+exports.makeEnv = makeEnv
var log = require("npmlog")
, spawn = require("child_process").spawn
@@ -161,7 +161,9 @@ function runCmd (note, cmd, pkg, env, stage, wd, unsafe, cb) {
var user = unsafe ? null : npm.config.get("user")
, group = unsafe ? null : npm.config.get("group")
- console.log(note)
+ if (log.level !== 'silent') {
+ console.log(note)
+ }
log.verbose("unsafe-perm in lifecycle", unsafe)
if (process.platform === "win32") {
@@ -313,6 +315,7 @@ function makeEnv (data, prefix, env) {
var value = npm.config.get(i)
if (value instanceof Stream || Array.isArray(value)) return
if (!value) value = ""
+ else if (typeof value === "number") value = "" + value
else if (typeof value !== "string") value = JSON.stringify(value)
value = -1 !== value.indexOf("\n")
diff --git a/deps/npm/lib/view.js b/deps/npm/lib/view.js
index f7ba5a9541c..18484b2bd1a 100644
--- a/deps/npm/lib/view.js
+++ b/deps/npm/lib/view.js
@@ -58,13 +58,24 @@ function view (args, silent, cb) {
// get the data about this package
registry.get(name, function (er, data) {
if (er) return cb(er)
- if (data["dist-tags"].hasOwnProperty(version)) {
+ if (data["dist-tags"] && data["dist-tags"].hasOwnProperty(version)) {
version = data["dist-tags"][version]
}
+
+ if (data.time && data.time.unpublished) {
+ var u = data.time.unpublished
+ var er = new Error("Unpublished by " + u.name + " on " + u.time)
+ er.statusCode = 404
+ er.code = "E404"
+ er.pkgid = data._id
+ return cb(er, data)
+ }
+
+
var results = []
, error = null
- , versions = data.versions
- data.versions = Object.keys(data.versions).sort(semver.compareLoose)
+ , versions = data.versions || {}
+ data.versions = Object.keys(versions).sort(semver.compareLoose)
if (!args.length) args = [""]
// remove readme unless we asked for it
diff --git a/deps/npm/man/man1/npm-README.1 b/deps/npm/man/man1/npm-README.1
index b9d79a83e6c..0f8bef3d71d 100644
--- a/deps/npm/man/man1/npm-README.1
+++ b/deps/npm/man/man1/npm-README.1
@@ -1,12 +1,13 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM" "1" "March 2014" "" ""
+.TH "NPM" "1" "May 2014" "" ""
.
.SH "NAME"
-\fBnpm\fR \-\- node package manager
+\fBnpm\fR \-\- node package manager![Build Status \fIhttps://img\.shields\.io/travis/npm/npm/master\.svg)](https://travis\-ci\.org/npm/npm\fR
+## SYNOPSIS
.
-.SH "SYNOPSIS"
+.P
This is just enough info to get you up and running\.
.
.P
@@ -38,6 +39,18 @@ paths, etc\.) then read on\.
.SH "Fancy Install (Unix)"
There\'s a pretty robust install script at \fIhttps://www\.npmjs\.org/install\.sh\fR\|\. You can download that and run it\.
.
+.P
+Here\'s an example using curl:
+.
+.IP "" 4
+.
+.nf
+curl \-L https://npmjs\.org/install\.sh | sh
+.
+.fi
+.
+.IP "" 0
+.
.SS "Slightly Fancier"
You can set any npm configuration params with that script:
.
diff --git a/deps/npm/man/man1/npm-adduser.1 b/deps/npm/man/man1/npm-adduser.1
index f37e270c35b..594330a415b 100644
--- a/deps/npm/man/man1/npm-adduser.1
+++ b/deps/npm/man/man1/npm-adduser.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-ADDUSER" "1" "March 2014" "" ""
+.TH "NPM\-ADDUSER" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-adduser\fR \-\- Add a registry user account
diff --git a/deps/npm/man/man1/npm-bin.1 b/deps/npm/man/man1/npm-bin.1
index a8eff0bb6ec..af5468b59dc 100644
--- a/deps/npm/man/man1/npm-bin.1
+++ b/deps/npm/man/man1/npm-bin.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-BIN" "1" "March 2014" "" ""
+.TH "NPM\-BIN" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-bin\fR \-\- Display npm bin folder
diff --git a/deps/npm/man/man1/npm-bugs.1 b/deps/npm/man/man1/npm-bugs.1
index ed250474307..b3a953bfe64 100644
--- a/deps/npm/man/man1/npm-bugs.1
+++ b/deps/npm/man/man1/npm-bugs.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-BUGS" "1" "March 2014" "" ""
+.TH "NPM\-BUGS" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-bugs\fR \-\- Bugs for a package in a web browser maybe
diff --git a/deps/npm/man/man1/npm-build.1 b/deps/npm/man/man1/npm-build.1
index 49703f31f3a..152caf79cca 100644
--- a/deps/npm/man/man1/npm-build.1
+++ b/deps/npm/man/man1/npm-build.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-BUILD" "1" "March 2014" "" ""
+.TH "NPM\-BUILD" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-build\fR \-\- Build a package
diff --git a/deps/npm/man/man1/npm-bundle.1 b/deps/npm/man/man1/npm-bundle.1
index 04ef1a38869..5f2f85a3f55 100644
--- a/deps/npm/man/man1/npm-bundle.1
+++ b/deps/npm/man/man1/npm-bundle.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-BUNDLE" "1" "March 2014" "" ""
+.TH "NPM\-BUNDLE" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-bundle\fR \-\- REMOVED
diff --git a/deps/npm/man/man1/npm-cache.1 b/deps/npm/man/man1/npm-cache.1
index 98922c4d9d0..0e5b949c2b8 100644
--- a/deps/npm/man/man1/npm-cache.1
+++ b/deps/npm/man/man1/npm-cache.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-CACHE" "1" "March 2014" "" ""
+.TH "NPM\-CACHE" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-cache\fR \-\- Manipulates packages cache
diff --git a/deps/npm/man/man1/npm-completion.1 b/deps/npm/man/man1/npm-completion.1
index decc444d2b2..6d1ec8d972c 100644
--- a/deps/npm/man/man1/npm-completion.1
+++ b/deps/npm/man/man1/npm-completion.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-COMPLETION" "1" "March 2014" "" ""
+.TH "NPM\-COMPLETION" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-completion\fR \-\- Tab Completion for npm
diff --git a/deps/npm/man/man1/npm-config.1 b/deps/npm/man/man1/npm-config.1
index 95c08c75739..38490724d72 100644
--- a/deps/npm/man/man1/npm-config.1
+++ b/deps/npm/man/man1/npm-config.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-CONFIG" "1" "March 2014" "" ""
+.TH "NPM\-CONFIG" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-config\fR \-\- Manage the npm configuration files
diff --git a/deps/npm/man/man1/npm-dedupe.1 b/deps/npm/man/man1/npm-dedupe.1
index 5a1eef85535..e60192178b0 100644
--- a/deps/npm/man/man1/npm-dedupe.1
+++ b/deps/npm/man/man1/npm-dedupe.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-DEDUPE" "1" "March 2014" "" ""
+.TH "NPM\-DEDUPE" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-dedupe\fR \-\- Reduce duplication
diff --git a/deps/npm/man/man1/npm-deprecate.1 b/deps/npm/man/man1/npm-deprecate.1
index f4af967e710..e4a19b23bc2 100644
--- a/deps/npm/man/man1/npm-deprecate.1
+++ b/deps/npm/man/man1/npm-deprecate.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-DEPRECATE" "1" "March 2014" "" ""
+.TH "NPM\-DEPRECATE" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-deprecate\fR \-\- Deprecate a version of a package
diff --git a/deps/npm/man/man1/npm-docs.1 b/deps/npm/man/man1/npm-docs.1
index a6f08de709b..27cbb05c8d7 100644
--- a/deps/npm/man/man1/npm-docs.1
+++ b/deps/npm/man/man1/npm-docs.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-DOCS" "1" "March 2014" "" ""
+.TH "NPM\-DOCS" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-docs\fR \-\- Docs for a package in a web browser maybe
diff --git a/deps/npm/man/man1/npm-edit.1 b/deps/npm/man/man1/npm-edit.1
index 0e8a17276a9..678c9128b2c 100644
--- a/deps/npm/man/man1/npm-edit.1
+++ b/deps/npm/man/man1/npm-edit.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-EDIT" "1" "March 2014" "" ""
+.TH "NPM\-EDIT" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-edit\fR \-\- Edit an installed package
diff --git a/deps/npm/man/man1/npm-explore.1 b/deps/npm/man/man1/npm-explore.1
index c69da38862a..2baac8f2fee 100644
--- a/deps/npm/man/man1/npm-explore.1
+++ b/deps/npm/man/man1/npm-explore.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-EXPLORE" "1" "March 2014" "" ""
+.TH "NPM\-EXPLORE" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-explore\fR \-\- Browse an installed package
diff --git a/deps/npm/man/man1/npm-help-search.1 b/deps/npm/man/man1/npm-help-search.1
index 0fe386e3892..cf723d2f417 100644
--- a/deps/npm/man/man1/npm-help-search.1
+++ b/deps/npm/man/man1/npm-help-search.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-HELP\-SEARCH" "1" "March 2014" "" ""
+.TH "NPM\-HELP\-SEARCH" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-help-search\fR \-\- Search npm help documentation
diff --git a/deps/npm/man/man1/npm-help.1 b/deps/npm/man/man1/npm-help.1
index 6b4041c54c6..9e6c240fd14 100644
--- a/deps/npm/man/man1/npm-help.1
+++ b/deps/npm/man/man1/npm-help.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-HELP" "1" "March 2014" "" ""
+.TH "NPM\-HELP" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-help\fR \-\- Get help on npm
diff --git a/deps/npm/man/man1/npm-init.1 b/deps/npm/man/man1/npm-init.1
index 87766bbd655..795a8db9b47 100644
--- a/deps/npm/man/man1/npm-init.1
+++ b/deps/npm/man/man1/npm-init.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-INIT" "1" "March 2014" "" ""
+.TH "NPM\-INIT" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-init\fR \-\- Interactively create a package\.json file
diff --git a/deps/npm/man/man1/npm-install.1 b/deps/npm/man/man1/npm-install.1
index f5c517082be..d98b55b12d1 100644
--- a/deps/npm/man/man1/npm-install.1
+++ b/deps/npm/man/man1/npm-install.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-INSTALL" "1" "March 2014" "" ""
+.TH "NPM\-INSTALL" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-install\fR \-\- Install a package
@@ -39,7 +39,7 @@ b) a gzipped tarball containing (a)
c) a url that resolves to (b)
.
.IP "\(bu" 4
-d) a \fB<name>@<version>\fR that is published on the registry with (c)
+d) a \fB<name>@<version>\fR that is published on the registry (npm help see \fBnpm\-registry\fR) with (c)
.
.IP "\(bu" 4
e) a \fB<name>@<tag>\fR that points to (d)
@@ -429,9 +429,6 @@ npm help npmrc
npm help registry
.
.IP "\(bu" 4
-npm help folders
-.
-.IP "\(bu" 4
npm help tag
.
.IP "\(bu" 4
diff --git a/deps/npm/man/man1/npm-link.1 b/deps/npm/man/man1/npm-link.1
index b4a01677be1..389dd82d53e 100644
--- a/deps/npm/man/man1/npm-link.1
+++ b/deps/npm/man/man1/npm-link.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-LINK" "1" "March 2014" "" ""
+.TH "NPM\-LINK" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-link\fR \-\- Symlink a package folder
diff --git a/deps/npm/man/man1/npm-ls.1 b/deps/npm/man/man1/npm-ls.1
index 01c3bdadc7c..ddd00f58549 100644
--- a/deps/npm/man/man1/npm-ls.1
+++ b/deps/npm/man/man1/npm-ls.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-LS" "1" "March 2014" "" ""
+.TH "NPM\-LS" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-ls\fR \-\- List installed packages
@@ -29,7 +29,7 @@ For example, running \fBnpm ls promzard\fR in npm\'s source tree will show:
.IP "" 4
.
.nf
-npm@1.4.6 /path/to/npm
+npm@1.4.8 /path/to/npm
└─┬ init\-package\-json@0\.0\.4
└── promzard@0\.1\.5
.
diff --git a/deps/npm/man/man1/npm-outdated.1 b/deps/npm/man/man1/npm-outdated.1
index 27ce507e1f4..f0e7ce6d976 100644
--- a/deps/npm/man/man1/npm-outdated.1
+++ b/deps/npm/man/man1/npm-outdated.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-OUTDATED" "1" "March 2014" "" ""
+.TH "NPM\-OUTDATED" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-outdated\fR \-\- Check for outdated packages
diff --git a/deps/npm/man/man1/npm-owner.1 b/deps/npm/man/man1/npm-owner.1
index 0dbdec1a6cf..dbb41b7b8a7 100644
--- a/deps/npm/man/man1/npm-owner.1
+++ b/deps/npm/man/man1/npm-owner.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-OWNER" "1" "March 2014" "" ""
+.TH "NPM\-OWNER" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-owner\fR \-\- Manage package owners
diff --git a/deps/npm/man/man1/npm-pack.1 b/deps/npm/man/man1/npm-pack.1
index a89e05e06bd..c23b617e0af 100644
--- a/deps/npm/man/man1/npm-pack.1
+++ b/deps/npm/man/man1/npm-pack.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-PACK" "1" "March 2014" "" ""
+.TH "NPM\-PACK" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-pack\fR \-\- Create a tarball from a package
diff --git a/deps/npm/man/man1/npm-prefix.1 b/deps/npm/man/man1/npm-prefix.1
index d8c1a6d16df..66849742bf3 100644
--- a/deps/npm/man/man1/npm-prefix.1
+++ b/deps/npm/man/man1/npm-prefix.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-PREFIX" "1" "March 2014" "" ""
+.TH "NPM\-PREFIX" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-prefix\fR \-\- Display prefix
diff --git a/deps/npm/man/man1/npm-prune.1 b/deps/npm/man/man1/npm-prune.1
index aa673dff718..710438d1062 100644
--- a/deps/npm/man/man1/npm-prune.1
+++ b/deps/npm/man/man1/npm-prune.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-PRUNE" "1" "March 2014" "" ""
+.TH "NPM\-PRUNE" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-prune\fR \-\- Remove extraneous packages
diff --git a/deps/npm/man/man1/npm-publish.1 b/deps/npm/man/man1/npm-publish.1
index 379e3b819a8..19271c82a71 100644
--- a/deps/npm/man/man1/npm-publish.1
+++ b/deps/npm/man/man1/npm-publish.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-PUBLISH" "1" "March 2014" "" ""
+.TH "NPM\-PUBLISH" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-publish\fR \-\- Publish a package
diff --git a/deps/npm/man/man1/npm-rebuild.1 b/deps/npm/man/man1/npm-rebuild.1
index cfd40ae09ad..7dda41232ee 100644
--- a/deps/npm/man/man1/npm-rebuild.1
+++ b/deps/npm/man/man1/npm-rebuild.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-REBUILD" "1" "March 2014" "" ""
+.TH "NPM\-REBUILD" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-rebuild\fR \-\- Rebuild a package
diff --git a/deps/npm/man/man1/npm-repo.1 b/deps/npm/man/man1/npm-repo.1
index 24331db87de..e79f8826a27 100644
--- a/deps/npm/man/man1/npm-repo.1
+++ b/deps/npm/man/man1/npm-repo.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-REPO" "1" "March 2014" "" ""
+.TH "NPM\-REPO" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-repo\fR \-\- Open package repository page in the browser
diff --git a/deps/npm/man/man1/npm-restart.1 b/deps/npm/man/man1/npm-restart.1
index 45d85c0ad12..d7ebaf7c097 100644
--- a/deps/npm/man/man1/npm-restart.1
+++ b/deps/npm/man/man1/npm-restart.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-RESTART" "1" "March 2014" "" ""
+.TH "NPM\-RESTART" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-restart\fR \-\- Start a package
diff --git a/deps/npm/man/man1/npm-rm.1 b/deps/npm/man/man1/npm-rm.1
index 1e3d4e6e719..a41689777fb 100644
--- a/deps/npm/man/man1/npm-rm.1
+++ b/deps/npm/man/man1/npm-rm.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-RM" "1" "March 2014" "" ""
+.TH "NPM\-RM" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-rm\fR \-\- Remove a package
diff --git a/deps/npm/man/man1/npm-root.1 b/deps/npm/man/man1/npm-root.1
index 11020316903..ec6a2391bb3 100644
--- a/deps/npm/man/man1/npm-root.1
+++ b/deps/npm/man/man1/npm-root.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-ROOT" "1" "March 2014" "" ""
+.TH "NPM\-ROOT" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-root\fR \-\- Display npm root
diff --git a/deps/npm/man/man1/npm-run-script.1 b/deps/npm/man/man1/npm-run-script.1
index 7ae992c3ef7..b81fa80b873 100644
--- a/deps/npm/man/man1/npm-run-script.1
+++ b/deps/npm/man/man1/npm-run-script.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-RUN\-SCRIPT" "1" "March 2014" "" ""
+.TH "NPM\-RUN\-SCRIPT" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-run-script\fR \-\- Run arbitrary package scripts
@@ -9,12 +9,14 @@
.SH "SYNOPSIS"
.
.nf
-npm run\-script <script> <name>
+npm run\-script [<pkg>] <command>
.
.fi
.
.SH "DESCRIPTION"
-This runs an arbitrary command from a package\'s "scripts" object\.
+This runs an arbitrary command from a package\'s \fB"scripts"\fR object\.
+If no package name is provided, it will search for a \fBpackage\.json\fR
+in the current folder and use its \fB"scripts"\fR object\.
.
.P
It is used by the test, start, restart, and stop commands, but can be
diff --git a/deps/npm/man/man1/npm-search.1 b/deps/npm/man/man1/npm-search.1
index 2269f133cc3..1680fc327a1 100644
--- a/deps/npm/man/man1/npm-search.1
+++ b/deps/npm/man/man1/npm-search.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-SEARCH" "1" "March 2014" "" ""
+.TH "NPM\-SEARCH" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-search\fR \-\- Search for packages
diff --git a/deps/npm/man/man1/npm-shrinkwrap.1 b/deps/npm/man/man1/npm-shrinkwrap.1
index 0189ec01c8e..1c646b4d6f7 100644
--- a/deps/npm/man/man1/npm-shrinkwrap.1
+++ b/deps/npm/man/man1/npm-shrinkwrap.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-SHRINKWRAP" "1" "March 2014" "" ""
+.TH "NPM\-SHRINKWRAP" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-shrinkwrap\fR \-\- Lock down dependency versions
diff --git a/deps/npm/man/man1/npm-star.1 b/deps/npm/man/man1/npm-star.1
index 410180f6f88..caa723e74d5 100644
--- a/deps/npm/man/man1/npm-star.1
+++ b/deps/npm/man/man1/npm-star.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-STAR" "1" "March 2014" "" ""
+.TH "NPM\-STAR" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-star\fR \-\- Mark your favorite packages
diff --git a/deps/npm/man/man1/npm-stars.1 b/deps/npm/man/man1/npm-stars.1
index 3058b7b1176..2daacdf6c36 100644
--- a/deps/npm/man/man1/npm-stars.1
+++ b/deps/npm/man/man1/npm-stars.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-STARS" "1" "March 2014" "" ""
+.TH "NPM\-STARS" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-stars\fR \-\- View packages marked as favorites
diff --git a/deps/npm/man/man1/npm-start.1 b/deps/npm/man/man1/npm-start.1
index a554df25ffe..d8c525d5bcd 100644
--- a/deps/npm/man/man1/npm-start.1
+++ b/deps/npm/man/man1/npm-start.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-START" "1" "March 2014" "" ""
+.TH "NPM\-START" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-start\fR \-\- Start a package
diff --git a/deps/npm/man/man1/npm-stop.1 b/deps/npm/man/man1/npm-stop.1
index 3bf53b07db6..0f0a28d53e6 100644
--- a/deps/npm/man/man1/npm-stop.1
+++ b/deps/npm/man/man1/npm-stop.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-STOP" "1" "March 2014" "" ""
+.TH "NPM\-STOP" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-stop\fR \-\- Stop a package
diff --git a/deps/npm/man/man1/npm-submodule.1 b/deps/npm/man/man1/npm-submodule.1
index 4276e5bb105..f3385e1d50a 100644
--- a/deps/npm/man/man1/npm-submodule.1
+++ b/deps/npm/man/man1/npm-submodule.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-SUBMODULE" "1" "March 2014" "" ""
+.TH "NPM\-SUBMODULE" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-submodule\fR \-\- Add a package as a git submodule
diff --git a/deps/npm/man/man1/npm-tag.1 b/deps/npm/man/man1/npm-tag.1
index 28240c2a120..d58047064ee 100644
--- a/deps/npm/man/man1/npm-tag.1
+++ b/deps/npm/man/man1/npm-tag.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-TAG" "1" "March 2014" "" ""
+.TH "NPM\-TAG" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-tag\fR \-\- Tag a published version
diff --git a/deps/npm/man/man1/npm-test.1 b/deps/npm/man/man1/npm-test.1
index a495c7c4f84..85d7d3681b9 100644
--- a/deps/npm/man/man1/npm-test.1
+++ b/deps/npm/man/man1/npm-test.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-TEST" "1" "March 2014" "" ""
+.TH "NPM\-TEST" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-test\fR \-\- Test a package
diff --git a/deps/npm/man/man1/npm-uninstall.1 b/deps/npm/man/man1/npm-uninstall.1
index d396400abcc..3fbee024200 100644
--- a/deps/npm/man/man1/npm-uninstall.1
+++ b/deps/npm/man/man1/npm-uninstall.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-RM" "1" "March 2014" "" ""
+.TH "NPM\-RM" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-rm\fR \-\- Remove a package
diff --git a/deps/npm/man/man1/npm-unpublish.1 b/deps/npm/man/man1/npm-unpublish.1
index 154f98619e9..1d98b1be7ef 100644
--- a/deps/npm/man/man1/npm-unpublish.1
+++ b/deps/npm/man/man1/npm-unpublish.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-UNPUBLISH" "1" "March 2014" "" ""
+.TH "NPM\-UNPUBLISH" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-unpublish\fR \-\- Remove a package from the registry
diff --git a/deps/npm/man/man1/npm-update.1 b/deps/npm/man/man1/npm-update.1
index df6683efd4f..949bae254df 100644
--- a/deps/npm/man/man1/npm-update.1
+++ b/deps/npm/man/man1/npm-update.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-UPDATE" "1" "March 2014" "" ""
+.TH "NPM\-UPDATE" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-update\fR \-\- Update a package
diff --git a/deps/npm/man/man1/npm-version.1 b/deps/npm/man/man1/npm-version.1
index 90ef9f12a6c..d2ae8a0ff06 100644
--- a/deps/npm/man/man1/npm-version.1
+++ b/deps/npm/man/man1/npm-version.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-VERSION" "1" "March 2014" "" ""
+.TH "NPM\-VERSION" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-version\fR \-\- Bump a package version
diff --git a/deps/npm/man/man1/npm-view.1 b/deps/npm/man/man1/npm-view.1
index 0fe0255ecb6..8083dda68cb 100644
--- a/deps/npm/man/man1/npm-view.1
+++ b/deps/npm/man/man1/npm-view.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-VIEW" "1" "March 2014" "" ""
+.TH "NPM\-VIEW" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-view\fR \-\- View registry info
diff --git a/deps/npm/man/man1/npm-whoami.1 b/deps/npm/man/man1/npm-whoami.1
index 04ed40f658b..f3f82701bae 100644
--- a/deps/npm/man/man1/npm-whoami.1
+++ b/deps/npm/man/man1/npm-whoami.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-WHOAMI" "1" "March 2014" "" ""
+.TH "NPM\-WHOAMI" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-whoami\fR \-\- Display npm username
diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1
index 8c9a99ad4fb..64edebfc337 100644
--- a/deps/npm/man/man1/npm.1
+++ b/deps/npm/man/man1/npm.1
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM" "1" "March 2014" "" ""
+.TH "NPM" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm\fR \-\- node package manager
@@ -14,7 +14,7 @@ npm <command> [args]
.fi
.
.SH "VERSION"
-1.4.6
+1.4.8
.
.SH "DESCRIPTION"
npm is the package manager for the Node JavaScript platform\. It puts
diff --git a/deps/npm/man/man3/npm-bin.3 b/deps/npm/man/man3/npm-bin.3
index 9e7e73e6038..7a15705f2b7 100644
--- a/deps/npm/man/man3/npm-bin.3
+++ b/deps/npm/man/man3/npm-bin.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-BIN" "3" "March 2014" "" ""
+.TH "NPM\-BIN" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-bin\fR \-\- Display npm bin folder
diff --git a/deps/npm/man/man3/npm-bugs.3 b/deps/npm/man/man3/npm-bugs.3
index 6068659c3e3..97b1440f36a 100644
--- a/deps/npm/man/man3/npm-bugs.3
+++ b/deps/npm/man/man3/npm-bugs.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-BUGS" "3" "March 2014" "" ""
+.TH "NPM\-BUGS" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-bugs\fR \-\- Bugs for a package in a web browser maybe
diff --git a/deps/npm/man/man3/npm-commands.3 b/deps/npm/man/man3/npm-commands.3
index b1fc270b5ba..0f3fa8668bf 100644
--- a/deps/npm/man/man3/npm-commands.3
+++ b/deps/npm/man/man3/npm-commands.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-COMMANDS" "3" "March 2014" "" ""
+.TH "NPM\-COMMANDS" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-commands\fR \-\- npm commands
diff --git a/deps/npm/man/man3/npm-config.3 b/deps/npm/man/man3/npm-config.3
index 54e3515a759..818a6e4bdfc 100644
--- a/deps/npm/man/man3/npm-config.3
+++ b/deps/npm/man/man3/npm-config.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-CONFIG" "3" "March 2014" "" ""
+.TH "NPM\-CONFIG" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-config\fR \-\- Manage the npm configuration files
diff --git a/deps/npm/man/man3/npm-deprecate.3 b/deps/npm/man/man3/npm-deprecate.3
index 89b9c10e674..72dd86c462b 100644
--- a/deps/npm/man/man3/npm-deprecate.3
+++ b/deps/npm/man/man3/npm-deprecate.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-DEPRECATE" "3" "March 2014" "" ""
+.TH "NPM\-DEPRECATE" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-deprecate\fR \-\- Deprecate a version of a package
diff --git a/deps/npm/man/man3/npm-docs.3 b/deps/npm/man/man3/npm-docs.3
index 82d94080d32..f476f754c56 100644
--- a/deps/npm/man/man3/npm-docs.3
+++ b/deps/npm/man/man3/npm-docs.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-DOCS" "3" "March 2014" "" ""
+.TH "NPM\-DOCS" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-docs\fR \-\- Docs for a package in a web browser maybe
diff --git a/deps/npm/man/man3/npm-edit.3 b/deps/npm/man/man3/npm-edit.3
index 1e00e86a0fa..64667610931 100644
--- a/deps/npm/man/man3/npm-edit.3
+++ b/deps/npm/man/man3/npm-edit.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-EDIT" "3" "March 2014" "" ""
+.TH "NPM\-EDIT" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-edit\fR \-\- Edit an installed package
diff --git a/deps/npm/man/man3/npm-explore.3 b/deps/npm/man/man3/npm-explore.3
index 227dfdc63f9..61441abea5f 100644
--- a/deps/npm/man/man3/npm-explore.3
+++ b/deps/npm/man/man3/npm-explore.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-EXPLORE" "3" "March 2014" "" ""
+.TH "NPM\-EXPLORE" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-explore\fR \-\- Browse an installed package
diff --git a/deps/npm/man/man3/npm-help-search.3 b/deps/npm/man/man3/npm-help-search.3
index d6f4f7f6dbf..ef5893b855a 100644
--- a/deps/npm/man/man3/npm-help-search.3
+++ b/deps/npm/man/man3/npm-help-search.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-HELP\-SEARCH" "3" "March 2014" "" ""
+.TH "NPM\-HELP\-SEARCH" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-help-search\fR \-\- Search the help pages
diff --git a/deps/npm/man/man3/npm-init.3 b/deps/npm/man/man3/npm-init.3
index b902b62aced..528002af1c0 100644
--- a/deps/npm/man/man3/npm-init.3
+++ b/deps/npm/man/man3/npm-init.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "INIT" "3" "March 2014" "" ""
+.TH "INIT" "3" "May 2014" "" ""
.
.SH "NAME"
\fBinit\fR \-\- Interactively create a package\.json file
diff --git a/deps/npm/man/man3/npm-install.3 b/deps/npm/man/man3/npm-install.3
index ff651da5e0a..90b70890234 100644
--- a/deps/npm/man/man3/npm-install.3
+++ b/deps/npm/man/man3/npm-install.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-INSTALL" "3" "March 2014" "" ""
+.TH "NPM\-INSTALL" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-install\fR \-\- install a package programmatically
diff --git a/deps/npm/man/man3/npm-link.3 b/deps/npm/man/man3/npm-link.3
index f0f9835a33b..28d418cc15c 100644
--- a/deps/npm/man/man3/npm-link.3
+++ b/deps/npm/man/man3/npm-link.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-LINK" "3" "March 2014" "" ""
+.TH "NPM\-LINK" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-link\fR \-\- Symlink a package folder
diff --git a/deps/npm/man/man3/npm-load.3 b/deps/npm/man/man3/npm-load.3
index 8ef38e4cf69..5de64de6ace 100644
--- a/deps/npm/man/man3/npm-load.3
+++ b/deps/npm/man/man3/npm-load.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-LOAD" "3" "March 2014" "" ""
+.TH "NPM\-LOAD" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-load\fR \-\- Load config settings
diff --git a/deps/npm/man/man3/npm-ls.3 b/deps/npm/man/man3/npm-ls.3
index a72d4121740..30d8f0a78ea 100644
--- a/deps/npm/man/man3/npm-ls.3
+++ b/deps/npm/man/man3/npm-ls.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-LS" "3" "March 2014" "" ""
+.TH "NPM\-LS" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-ls\fR \-\- List installed packages
diff --git a/deps/npm/man/man3/npm-outdated.3 b/deps/npm/man/man3/npm-outdated.3
index 4530b220c5e..59c0a2491de 100644
--- a/deps/npm/man/man3/npm-outdated.3
+++ b/deps/npm/man/man3/npm-outdated.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-OUTDATED" "3" "March 2014" "" ""
+.TH "NPM\-OUTDATED" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-outdated\fR \-\- Check for outdated packages
diff --git a/deps/npm/man/man3/npm-owner.3 b/deps/npm/man/man3/npm-owner.3
index 464f29f32ef..fb7c622c4ec 100644
--- a/deps/npm/man/man3/npm-owner.3
+++ b/deps/npm/man/man3/npm-owner.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-OWNER" "3" "March 2014" "" ""
+.TH "NPM\-OWNER" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-owner\fR \-\- Manage package owners
diff --git a/deps/npm/man/man3/npm-pack.3 b/deps/npm/man/man3/npm-pack.3
index db83c0adbc2..3ab49a2bf60 100644
--- a/deps/npm/man/man3/npm-pack.3
+++ b/deps/npm/man/man3/npm-pack.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-PACK" "3" "March 2014" "" ""
+.TH "NPM\-PACK" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-pack\fR \-\- Create a tarball from a package
diff --git a/deps/npm/man/man3/npm-prefix.3 b/deps/npm/man/man3/npm-prefix.3
index 4be7e51019a..72676148c1c 100644
--- a/deps/npm/man/man3/npm-prefix.3
+++ b/deps/npm/man/man3/npm-prefix.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-PREFIX" "3" "March 2014" "" ""
+.TH "NPM\-PREFIX" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-prefix\fR \-\- Display prefix
diff --git a/deps/npm/man/man3/npm-prune.3 b/deps/npm/man/man3/npm-prune.3
index 4ffb0c27075..948b4d2b301 100644
--- a/deps/npm/man/man3/npm-prune.3
+++ b/deps/npm/man/man3/npm-prune.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-PRUNE" "3" "March 2014" "" ""
+.TH "NPM\-PRUNE" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-prune\fR \-\- Remove extraneous packages
diff --git a/deps/npm/man/man3/npm-publish.3 b/deps/npm/man/man3/npm-publish.3
index 03196b47e7d..01c2d1b4396 100644
--- a/deps/npm/man/man3/npm-publish.3
+++ b/deps/npm/man/man3/npm-publish.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-PUBLISH" "3" "March 2014" "" ""
+.TH "NPM\-PUBLISH" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-publish\fR \-\- Publish a package
diff --git a/deps/npm/man/man3/npm-rebuild.3 b/deps/npm/man/man3/npm-rebuild.3
index cc1c0cf0fda..86fcca546fb 100644
--- a/deps/npm/man/man3/npm-rebuild.3
+++ b/deps/npm/man/man3/npm-rebuild.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-REBUILD" "3" "March 2014" "" ""
+.TH "NPM\-REBUILD" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-rebuild\fR \-\- Rebuild a package
diff --git a/deps/npm/man/man3/npm-repo.3 b/deps/npm/man/man3/npm-repo.3
index 407f833dd8c..161b213a270 100644
--- a/deps/npm/man/man3/npm-repo.3
+++ b/deps/npm/man/man3/npm-repo.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-REPO" "3" "March 2014" "" ""
+.TH "NPM\-REPO" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-repo\fR \-\- Open package repository page in the browser
diff --git a/deps/npm/man/man3/npm-restart.3 b/deps/npm/man/man3/npm-restart.3
index 6d55512fad5..d51ee54ad3e 100644
--- a/deps/npm/man/man3/npm-restart.3
+++ b/deps/npm/man/man3/npm-restart.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-RESTART" "3" "March 2014" "" ""
+.TH "NPM\-RESTART" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-restart\fR \-\- Start a package
diff --git a/deps/npm/man/man3/npm-root.3 b/deps/npm/man/man3/npm-root.3
index e1aa75f0be0..a7ae76d7d50 100644
--- a/deps/npm/man/man3/npm-root.3
+++ b/deps/npm/man/man3/npm-root.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-ROOT" "3" "March 2014" "" ""
+.TH "NPM\-ROOT" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-root\fR \-\- Display npm root
diff --git a/deps/npm/man/man3/npm-run-script.3 b/deps/npm/man/man3/npm-run-script.3
index edab316ef05..24aec93ef38 100644
--- a/deps/npm/man/man3/npm-run-script.3
+++ b/deps/npm/man/man3/npm-run-script.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-RUN\-SCRIPT" "3" "March 2014" "" ""
+.TH "NPM\-RUN\-SCRIPT" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-run-script\fR \-\- Run arbitrary package scripts
diff --git a/deps/npm/man/man3/npm-search.3 b/deps/npm/man/man3/npm-search.3
index cb5336dc4bd..90b57e189c2 100644
--- a/deps/npm/man/man3/npm-search.3
+++ b/deps/npm/man/man3/npm-search.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-SEARCH" "3" "March 2014" "" ""
+.TH "NPM\-SEARCH" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-search\fR \-\- Search for packages
diff --git a/deps/npm/man/man3/npm-shrinkwrap.3 b/deps/npm/man/man3/npm-shrinkwrap.3
index 148c82172a2..d82fa004cd4 100644
--- a/deps/npm/man/man3/npm-shrinkwrap.3
+++ b/deps/npm/man/man3/npm-shrinkwrap.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-SHRINKWRAP" "3" "March 2014" "" ""
+.TH "NPM\-SHRINKWRAP" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-shrinkwrap\fR \-\- programmatically generate package shrinkwrap file
diff --git a/deps/npm/man/man3/npm-start.3 b/deps/npm/man/man3/npm-start.3
index 74db7eaf63d..cddc6836a2a 100644
--- a/deps/npm/man/man3/npm-start.3
+++ b/deps/npm/man/man3/npm-start.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-START" "3" "March 2014" "" ""
+.TH "NPM\-START" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-start\fR \-\- Start a package
diff --git a/deps/npm/man/man3/npm-stop.3 b/deps/npm/man/man3/npm-stop.3
index a76b39df7e0..ff52fb91772 100644
--- a/deps/npm/man/man3/npm-stop.3
+++ b/deps/npm/man/man3/npm-stop.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-STOP" "3" "March 2014" "" ""
+.TH "NPM\-STOP" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-stop\fR \-\- Stop a package
diff --git a/deps/npm/man/man3/npm-submodule.3 b/deps/npm/man/man3/npm-submodule.3
index 301543eae2a..b28915bdbe6 100644
--- a/deps/npm/man/man3/npm-submodule.3
+++ b/deps/npm/man/man3/npm-submodule.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-SUBMODULE" "3" "March 2014" "" ""
+.TH "NPM\-SUBMODULE" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-submodule\fR \-\- Add a package as a git submodule
diff --git a/deps/npm/man/man3/npm-tag.3 b/deps/npm/man/man3/npm-tag.3
index fe40b6590ae..0f56e71be04 100644
--- a/deps/npm/man/man3/npm-tag.3
+++ b/deps/npm/man/man3/npm-tag.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-TAG" "3" "March 2014" "" ""
+.TH "NPM\-TAG" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-tag\fR \-\- Tag a published version
diff --git a/deps/npm/man/man3/npm-test.3 b/deps/npm/man/man3/npm-test.3
index 7bb597fc73f..826582ecf9a 100644
--- a/deps/npm/man/man3/npm-test.3
+++ b/deps/npm/man/man3/npm-test.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-TEST" "3" "March 2014" "" ""
+.TH "NPM\-TEST" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-test\fR \-\- Test a package
diff --git a/deps/npm/man/man3/npm-uninstall.3 b/deps/npm/man/man3/npm-uninstall.3
index bf01318df96..964791ab07b 100644
--- a/deps/npm/man/man3/npm-uninstall.3
+++ b/deps/npm/man/man3/npm-uninstall.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-UNINSTALL" "3" "March 2014" "" ""
+.TH "NPM\-UNINSTALL" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-uninstall\fR \-\- uninstall a package programmatically
diff --git a/deps/npm/man/man3/npm-unpublish.3 b/deps/npm/man/man3/npm-unpublish.3
index 258db147f41..00711d49209 100644
--- a/deps/npm/man/man3/npm-unpublish.3
+++ b/deps/npm/man/man3/npm-unpublish.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-UNPUBLISH" "3" "March 2014" "" ""
+.TH "NPM\-UNPUBLISH" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-unpublish\fR \-\- Remove a package from the registry
diff --git a/deps/npm/man/man3/npm-update.3 b/deps/npm/man/man3/npm-update.3
index c0a5b7a70b2..fccf96f3a99 100644
--- a/deps/npm/man/man3/npm-update.3
+++ b/deps/npm/man/man3/npm-update.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-UPDATE" "3" "March 2014" "" ""
+.TH "NPM\-UPDATE" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-update\fR \-\- Update a package
diff --git a/deps/npm/man/man3/npm-version.3 b/deps/npm/man/man3/npm-version.3
index 5dae8b7d260..757a2d11d88 100644
--- a/deps/npm/man/man3/npm-version.3
+++ b/deps/npm/man/man3/npm-version.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-VERSION" "3" "March 2014" "" ""
+.TH "NPM\-VERSION" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-version\fR \-\- Bump a package version
diff --git a/deps/npm/man/man3/npm-view.3 b/deps/npm/man/man3/npm-view.3
index c0b1fd51778..d5c9e80177f 100644
--- a/deps/npm/man/man3/npm-view.3
+++ b/deps/npm/man/man3/npm-view.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-VIEW" "3" "March 2014" "" ""
+.TH "NPM\-VIEW" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-view\fR \-\- View registry info
diff --git a/deps/npm/man/man3/npm-whoami.3 b/deps/npm/man/man3/npm-whoami.3
index 4e068af94ea..c24fae9f41b 100644
--- a/deps/npm/man/man3/npm-whoami.3
+++ b/deps/npm/man/man3/npm-whoami.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-WHOAMI" "3" "March 2014" "" ""
+.TH "NPM\-WHOAMI" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-whoami\fR \-\- Display npm username
diff --git a/deps/npm/man/man3/npm.3 b/deps/npm/man/man3/npm.3
index 83a10c675f6..562ae4bdf4c 100644
--- a/deps/npm/man/man3/npm.3
+++ b/deps/npm/man/man3/npm.3
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM" "3" "March 2014" "" ""
+.TH "NPM" "3" "May 2014" "" ""
.
.SH "NAME"
\fBnpm\fR \-\- node package manager
@@ -10,7 +10,7 @@
.
.nf
var npm = require("npm")
-npm\.load([configObject], function (er, npm) {
+npm\.load([configObject, ]function (er, npm) {
// use the npm object, now that it\'s loaded\.
npm\.config\.set(key, val)
val = npm\.config\.get(key)
@@ -21,7 +21,7 @@ npm\.load([configObject], function (er, npm) {
.fi
.
.SH "VERSION"
-1.4.6
+1.4.8
.
.SH "DESCRIPTION"
This is the API documentation for npm\.
diff --git a/deps/npm/man/man5/npm-folders.5 b/deps/npm/man/man5/npm-folders.5
index 194bb9b6d36..982b0bc63e9 100644
--- a/deps/npm/man/man5/npm-folders.5
+++ b/deps/npm/man/man5/npm-folders.5
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-FOLDERS" "5" "March 2014" "" ""
+.TH "NPM\-FOLDERS" "5" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-folders\fR \-\- Folder Structures Used by npm
diff --git a/deps/npm/man/man5/npm-global.5 b/deps/npm/man/man5/npm-global.5
index 194bb9b6d36..982b0bc63e9 100644
--- a/deps/npm/man/man5/npm-global.5
+++ b/deps/npm/man/man5/npm-global.5
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-FOLDERS" "5" "March 2014" "" ""
+.TH "NPM\-FOLDERS" "5" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-folders\fR \-\- Folder Structures Used by npm
diff --git a/deps/npm/man/man5/npm-json.5 b/deps/npm/man/man5/npm-json.5
index a0cd2c9b6fc..89083280de1 100644
--- a/deps/npm/man/man5/npm-json.5
+++ b/deps/npm/man/man5/npm-json.5
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "PACKAGE\.JSON" "5" "March 2014" "" ""
+.TH "PACKAGE\.JSON" "5" "May 2014" "" ""
.
.SH "NAME"
\fBpackage.json\fR \-\- Specifics of npm\'s package\.json handling
@@ -427,6 +427,9 @@ npm help See semver for more details about specifying version ranges\.
npm help \fB~version\fR "Approximately equivalent to version" See semver
.
.IP "\(bu" 4
+npm help \fB^version\fR "Compatible with version" See semver
+.
+.IP "\(bu" 4
\fB1\.2\.x\fR 1\.2\.0, 1\.2\.1, etc\., but not 1\.3\.0
.
.IP "\(bu" 4
@@ -567,6 +570,57 @@ can consume the functionality without requiring them to compile it
themselves\. In dev mode (ie, locally running \fBnpm install\fR), it\'ll
run this script as well, so that you can test it easily\.
.
+.SH "peerDependencies"
+In some cases, you want to express the compatibility of your package with an
+host tool or library, while not necessarily doing a \fBrequire\fR of this host\.
+This is usually refered to as a \fIplugin\fR\|\. Notably, your module may be exposing
+a specific interface, expected and specified by the host documentation\.
+.
+.P
+For example:
+.
+.IP "" 4
+.
+.nf
+{
+ "name": "tea\-latte",
+ "version": "1\.3\.5"
+ "peerDependencies": {
+ "tea": "2\.x"
+ }
+}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+This ensures your package \fBtea\-latte\fR can be installed \fIalong\fR with the second
+major version of the host package \fBtea\fR only\. The host package is automatically
+installed if needed\. \fBnpm install tea\-latte\fR could possibly yield the following
+dependency graph:
+.
+.IP "" 4
+.
+.nf
+├── tea\-latte@1\.3\.5
+└── tea@2\.2\.0
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Trying to install another plugin with a conflicting requirement will cause an
+error\. For this reason, make sure your plugin requirement is as broad as
+possible, and not to lock it down to specific patch versions\.
+.
+.P
+Assuming the host complies with semver \fIhttp://semver\.org/\fR, only changes in
+the host package\'s major version will break your plugin\. Thus, if you\'ve worked
+with every 1\.x version of the host package, use \fB"^1\.0"\fR or \fB"1\.x"\fR to express
+this\. If you depend on features introduced in 1\.5\.2, use \fB">= 1\.5\.2 < 2"\fR\|\.
+.
.SH "bundledDependencies"
Array of package names that will be bundled when publishing the package\.
.
diff --git a/deps/npm/man/man5/npmrc.5 b/deps/npm/man/man5/npmrc.5
index e8a740abd35..6ee6df6c737 100644
--- a/deps/npm/man/man5/npmrc.5
+++ b/deps/npm/man/man5/npmrc.5
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPMRC" "5" "March 2014" "" ""
+.TH "NPMRC" "5" "May 2014" "" ""
.
.SH "NAME"
\fBnpmrc\fR \-\- The npm config files
diff --git a/deps/npm/man/man5/package.json.5 b/deps/npm/man/man5/package.json.5
index a0cd2c9b6fc..89083280de1 100644
--- a/deps/npm/man/man5/package.json.5
+++ b/deps/npm/man/man5/package.json.5
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "PACKAGE\.JSON" "5" "March 2014" "" ""
+.TH "PACKAGE\.JSON" "5" "May 2014" "" ""
.
.SH "NAME"
\fBpackage.json\fR \-\- Specifics of npm\'s package\.json handling
@@ -427,6 +427,9 @@ npm help See semver for more details about specifying version ranges\.
npm help \fB~version\fR "Approximately equivalent to version" See semver
.
.IP "\(bu" 4
+npm help \fB^version\fR "Compatible with version" See semver
+.
+.IP "\(bu" 4
\fB1\.2\.x\fR 1\.2\.0, 1\.2\.1, etc\., but not 1\.3\.0
.
.IP "\(bu" 4
@@ -567,6 +570,57 @@ can consume the functionality without requiring them to compile it
themselves\. In dev mode (ie, locally running \fBnpm install\fR), it\'ll
run this script as well, so that you can test it easily\.
.
+.SH "peerDependencies"
+In some cases, you want to express the compatibility of your package with an
+host tool or library, while not necessarily doing a \fBrequire\fR of this host\.
+This is usually refered to as a \fIplugin\fR\|\. Notably, your module may be exposing
+a specific interface, expected and specified by the host documentation\.
+.
+.P
+For example:
+.
+.IP "" 4
+.
+.nf
+{
+ "name": "tea\-latte",
+ "version": "1\.3\.5"
+ "peerDependencies": {
+ "tea": "2\.x"
+ }
+}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+This ensures your package \fBtea\-latte\fR can be installed \fIalong\fR with the second
+major version of the host package \fBtea\fR only\. The host package is automatically
+installed if needed\. \fBnpm install tea\-latte\fR could possibly yield the following
+dependency graph:
+.
+.IP "" 4
+.
+.nf
+├── tea\-latte@1\.3\.5
+└── tea@2\.2\.0
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Trying to install another plugin with a conflicting requirement will cause an
+error\. For this reason, make sure your plugin requirement is as broad as
+possible, and not to lock it down to specific patch versions\.
+.
+.P
+Assuming the host complies with semver \fIhttp://semver\.org/\fR, only changes in
+the host package\'s major version will break your plugin\. Thus, if you\'ve worked
+with every 1\.x version of the host package, use \fB"^1\.0"\fR or \fB"1\.x"\fR to express
+this\. If you depend on features introduced in 1\.5\.2, use \fB">= 1\.5\.2 < 2"\fR\|\.
+.
.SH "bundledDependencies"
Array of package names that will be bundled when publishing the package\.
.
diff --git a/deps/npm/man/man7/npm-coding-style.7 b/deps/npm/man/man7/npm-coding-style.7
index 710aa660471..5014ba53cbb 100644
--- a/deps/npm/man/man7/npm-coding-style.7
+++ b/deps/npm/man/man7/npm-coding-style.7
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-CODING\-STYLE" "7" "March 2014" "" ""
+.TH "NPM\-CODING\-STYLE" "7" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-coding-style\fR \-\- npm\'s "funny" coding style
diff --git a/deps/npm/man/man7/npm-config.7 b/deps/npm/man/man7/npm-config.7
index 60577f4ee41..6c96048d846 100644
--- a/deps/npm/man/man7/npm-config.7
+++ b/deps/npm/man/man7/npm-config.7
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-CONFIG" "7" "March 2014" "" ""
+.TH "NPM\-CONFIG" "7" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-config\fR \-\- More than you probably want to know about npm configuration
@@ -1137,6 +1137,27 @@ devDependencies hash\.
.P
Only works if there is already a package\.json file present\.
.
+.SS "save\-prefix"
+.
+.IP "\(bu" 4
+Default: \'^\'
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+Configure how versions of packages installed to a package\.json file via \fB\-\-save\fR or \fB\-\-save\-dev\fR get prefixed\.
+.
+.P
+For example if a package has version \fB1\.2\.3\fR, by default it\'s version is
+set to \fB^1\.2\.3\fR which allows minor upgrades for that package, but after
+.
+.br
+\fBnpm config set save\-prefix=\'~\'\fR it would be set to \fB~1\.2\.3\fR which only allows
+patch upgrades\.
+.
.SS "searchopts"
.
.IP "\(bu" 4
diff --git a/deps/npm/man/man7/npm-developers.7 b/deps/npm/man/man7/npm-developers.7
index b50705ba1af..1122e23af8c 100644
--- a/deps/npm/man/man7/npm-developers.7
+++ b/deps/npm/man/man7/npm-developers.7
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-DEVELOPERS" "7" "March 2014" "" ""
+.TH "NPM\-DEVELOPERS" "7" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-developers\fR \-\- Developer Guide
diff --git a/deps/npm/man/man7/npm-disputes.7 b/deps/npm/man/man7/npm-disputes.7
index 3afd7e571ec..942d530bb89 100644
--- a/deps/npm/man/man7/npm-disputes.7
+++ b/deps/npm/man/man7/npm-disputes.7
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-DISPUTES" "7" "March 2014" "" ""
+.TH "NPM\-DISPUTES" "7" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-disputes\fR \-\- Handling Module Name Disputes
diff --git a/deps/npm/man/man7/npm-faq.7 b/deps/npm/man/man7/npm-faq.7
index ce7453fa04c..c84a06d37d0 100644
--- a/deps/npm/man/man7/npm-faq.7
+++ b/deps/npm/man/man7/npm-faq.7
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-FAQ" "7" "March 2014" "" ""
+.TH "NPM\-FAQ" "7" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-faq\fR \-\- Frequently Asked Questions
@@ -94,7 +94,7 @@ npm will not help you do something that is known to be a bad idea\.
Mikeal Rogers answered this question very well:
.
.P
-\fIhttp://www\.mikealrogers\.com/posts/nodemodules\-in\-git\.html\fR
+\fIhttp://www\.futurealoof\.com/posts/nodemodules\-in\-git\.html\fR
.
.P
tl;dr
diff --git a/deps/npm/man/man7/npm-index.7 b/deps/npm/man/man7/npm-index.7
index 8e17a3d7a52..576a047d3b9 100644
--- a/deps/npm/man/man7/npm-index.7
+++ b/deps/npm/man/man7/npm-index.7
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-INDEX" "7" "March 2014" "" ""
+.TH "NPM\-INDEX" "7" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-index\fR \-\- Index of all npm documentation
diff --git a/deps/npm/man/man7/npm-registry.7 b/deps/npm/man/man7/npm-registry.7
index 5a62ae6fcbf..a6f4e7367fe 100644
--- a/deps/npm/man/man7/npm-registry.7
+++ b/deps/npm/man/man7/npm-registry.7
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-REGISTRY" "7" "March 2014" "" ""
+.TH "NPM\-REGISTRY" "7" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-registry\fR \-\- The JavaScript Package Registry
diff --git a/deps/npm/man/man7/npm-scripts.7 b/deps/npm/man/man7/npm-scripts.7
index bc16a8d6ef9..10f83192fc5 100644
--- a/deps/npm/man/man7/npm-scripts.7
+++ b/deps/npm/man/man7/npm-scripts.7
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-SCRIPTS" "7" "March 2014" "" ""
+.TH "NPM\-SCRIPTS" "7" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-scripts\fR \-\- How npm handles the "scripts" field
diff --git a/deps/npm/man/man7/removing-npm.7 b/deps/npm/man/man7/removing-npm.7
index d3fd8696d91..1ae454573ef 100644
--- a/deps/npm/man/man7/removing-npm.7
+++ b/deps/npm/man/man7/removing-npm.7
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "NPM\-REMOVAL" "1" "March 2014" "" ""
+.TH "NPM\-REMOVAL" "1" "May 2014" "" ""
.
.SH "NAME"
\fBnpm-removal\fR \-\- Cleaning the Slate
diff --git a/deps/npm/man/man7/semver.7 b/deps/npm/man/man7/semver.7
index 567e28f4d03..6f7ebf1ddeb 100644
--- a/deps/npm/man/man7/semver.7
+++ b/deps/npm/man/man7/semver.7
@@ -1,7 +1,7 @@
.\" Generated with Ronnjs 0.3.8
.\" http://github.com/kapouer/ronnjs/
.
-.TH "SEMVER" "7" "March 2014" "" ""
+.TH "SEMVER" "7" "May 2014" "" ""
.
.SH "NAME"
\fBsemver\fR \-\- The semantic versioner for npm
diff --git a/deps/npm/node_modules/github-url-from-username-repo/index.js b/deps/npm/node_modules/github-url-from-username-repo/index.js
index 8af2c4f8319..46b0bb51399 100644
--- a/deps/npm/node_modules/github-url-from-username-repo/index.js
+++ b/deps/npm/node_modules/github-url-from-username-repo/index.js
@@ -1,9 +1,9 @@
module.exports = getUrl
function getUrl (r) {
- if (!r) return
- if (/^[\w-]+\/[\w-]+$/.test(r))
+ if (!r) return null
+ if (/^[\w-]+\/[\w\.-]+$/.test(r))
return "git://github.com/" + r
else
return null
-} \ No newline at end of file
+}
diff --git a/deps/npm/node_modules/github-url-from-username-repo/package.json b/deps/npm/node_modules/github-url-from-username-repo/package.json
index d0e241dbf55..239ba77393c 100644
--- a/deps/npm/node_modules/github-url-from-username-repo/package.json
+++ b/deps/npm/node_modules/github-url-from-username-repo/package.json
@@ -1,6 +1,6 @@
{
"name": "github-url-from-username-repo",
- "version": "0.0.2",
+ "version": "0.1.0",
"description": "Create urls from username/repo",
"main": "index.js",
"scripts": {
@@ -28,6 +28,11 @@
],
"readme": "[![Build Status](https://travis-ci.org/robertkowalski/github-url-from-username-repo.png?branch=master)](https://travis-ci.org/robertkowalski/github-url-from-username-repo)\n[![Dependency Status](https://gemnasium.com/robertkowalski/github-url-from-username-repo.png)](https://gemnasium.com/robertkowalski/github-url-from-username-repo)\n\n\n# github-url-from-username-repo\n\n## Usage\n\n```javascript\n\nvar getUrl = require(\"github-url-from-username-repo\")\ngetUrl(\"visionmedia/express\") // git://github.com/visionmedia/express\n\n```",
"readmeFilename": "README.md",
- "_id": "github-url-from-username-repo@0.0.2",
- "_from": "github-url-from-username-repo@"
+ "homepage": "https://github.com/robertkowalski/github-url-from-username-repo",
+ "_id": "github-url-from-username-repo@0.1.0",
+ "dist": {
+ "shasum": "fe398af670692e91af7bcfc5ae1d99ff97b1df89"
+ },
+ "_from": "github-url-from-username-repo@0.1.0",
+ "_resolved": "https://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-0.1.0.tgz"
}
diff --git a/deps/npm/node_modules/github-url-from-username-repo/test/index.js b/deps/npm/node_modules/github-url-from-username-repo/test/index.js
index 782a95ceaf8..e8e7b47600c 100644
--- a/deps/npm/node_modules/github-url-from-username-repo/test/index.js
+++ b/deps/npm/node_modules/github-url-from-username-repo/test/index.js
@@ -6,16 +6,29 @@ describe("github url from username/repo", function () {
var url = getUrl("visionmedia/express")
assert.equal("git://github.com/visionmedia/express", url)
})
- it("works with -", function () {
- var url = getUrl("vision-media/express-package")
- assert.equal("git://github.com/vision-media/express-package", url)
- })
+
it("returns null if it does not match", function () {
var url = getUrl("package")
assert.deepEqual(null, url)
})
- it("returns undefined if no repo/user was given", function () {
+
+ it("returns null if no repo/user was given", function () {
var url = getUrl()
- assert.deepEqual(undefined, url)
+ assert.deepEqual(null, url)
+ })
+
+ it("works with .", function () {
+ var url = getUrl("component/downloader.js")
+ assert.equal("git://github.com/component/downloader.js", url)
+ })
+
+ it("works with . in the beginning", function () {
+ var url = getUrl("component/.downloader.js")
+ assert.equal("git://github.com/component/.downloader.js", url)
+ })
+
+ it("works with -", function () {
+ var url = getUrl("component/-dow-nloader.j-s")
+ assert.equal("git://github.com/component/-dow-nloader.j-s", url)
})
-}) \ No newline at end of file
+})
diff --git a/deps/npm/node_modules/init-package-json/default-input.js b/deps/npm/node_modules/init-package-json/default-input.js
index d61a33d2395..4390e708b99 100644
--- a/deps/npm/node_modules/init-package-json/default-input.js
+++ b/deps/npm/node_modules/init-package-json/default-input.js
@@ -28,7 +28,7 @@ function readDeps (test) { return function (cb) {
try { p = JSON.parse(p) }
catch (e) { return next() }
if (!p.version) return next()
- deps[d] = '^' + p.version
+ deps[d] = config.get('save-prefix') + p.version
return next()
})
})
@@ -178,4 +178,4 @@ if (!package.author) {
exports.license = prompt('license', package.license ||
config.get('init.license') ||
- 'BSD-2-Clause')
+ 'ISC')
diff --git a/deps/npm/node_modules/init-package-json/node_modules/promzard/package.json b/deps/npm/node_modules/init-package-json/node_modules/promzard/package.json
index 17ed9a1f97a..1d713bc6917 100644
--- a/deps/npm/node_modules/init-package-json/node_modules/promzard/package.json
+++ b/deps/npm/node_modules/init-package-json/node_modules/promzard/package.json
@@ -28,9 +28,7 @@
},
"homepage": "https://github.com/isaacs/promzard",
"_id": "promzard@0.2.1",
- "dist": {
- "shasum": "c4c7cbe5182465c13b43540be9daf47098b4e75b"
- },
+ "_shasum": "c4c7cbe5182465c13b43540be9daf47098b4e75b",
"_from": "promzard@~0.2.0",
"_resolved": "https://registry.npmjs.org/promzard/-/promzard-0.2.1.tgz"
}
diff --git a/deps/npm/node_modules/init-package-json/package.json b/deps/npm/node_modules/init-package-json/package.json
index 95099e09dee..9ca7721cd51 100644
--- a/deps/npm/node_modules/init-package-json/package.json
+++ b/deps/npm/node_modules/init-package-json/package.json
@@ -1,6 +1,6 @@
{
"name": "init-package-json",
- "version": "0.0.15",
+ "version": "0.0.16",
"main": "init-package-json.js",
"scripts": {
"test": "tap test/*.js"
@@ -43,10 +43,7 @@
"url": "https://github.com/isaacs/init-package-json/issues"
},
"homepage": "https://github.com/isaacs/init-package-json",
- "_id": "init-package-json@0.0.15",
- "dist": {
- "shasum": "d40f0201e4de6aa2b3fdc4208ae162766703ebed"
- },
- "_from": "init-package-json@latest",
- "_resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-0.0.15.tgz"
+ "_id": "init-package-json@0.0.16",
+ "_shasum": "f7bb96fcb0a2c8061d15a2c3180323b17a65aa16",
+ "_from": "init-package-json@latest"
}
diff --git a/deps/npm/node_modules/nopt/lib/nopt.js b/deps/npm/node_modules/nopt/lib/nopt.js
index 0bacba68f85..9efab7af4c3 100644
--- a/deps/npm/node_modules/nopt/lib/nopt.js
+++ b/deps/npm/node_modules/nopt/lib/nopt.js
@@ -126,6 +126,11 @@ function validateString (data, k, val) {
function validatePath (data, k, val) {
if (val === true) return false
+ val = String(val)
+ var homePattern = process.platform === 'win32' ? /^~(\/|\\)/ : /^~\//
+ if (val.match(homePattern) && process.env.HOME) {
+ val = path.resolve(process.env.HOME, val.substr(2))
+ }
data[k] = path.resolve(String(val))
return true
}
diff --git a/deps/npm/node_modules/nopt/package.json b/deps/npm/node_modules/nopt/package.json
index 40036f69c0a..72aba5d36c3 100644
--- a/deps/npm/node_modules/nopt/package.json
+++ b/deps/npm/node_modules/nopt/package.json
@@ -1,6 +1,6 @@
{
"name": "nopt",
- "version": "2.2.0",
+ "version": "2.2.1",
"description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.",
"author": {
"name": "Isaac Z. Schlueter",
@@ -34,6 +34,7 @@
"url": "https://github.com/isaacs/nopt/issues"
},
"homepage": "https://github.com/isaacs/nopt",
- "_id": "nopt@2.2.0",
+ "_id": "nopt@2.2.1",
+ "_shasum": "2aa09b7d1768487b3b89a9c5aa52335bff0baea7",
"_from": "nopt@latest"
}
diff --git a/deps/npm/node_modules/nopt/test/basic.js b/deps/npm/node_modules/nopt/test/basic.js
index 1a678946314..b31dccf54b1 100644
--- a/deps/npm/node_modules/nopt/test/basic.js
+++ b/deps/npm/node_modules/nopt/test/basic.js
@@ -15,6 +15,14 @@ test("Empty String results in empty string, not true", function (t) {
t.end()
})
+test("~ path is resolved to $HOME", function (t) {
+ var path = require("path")
+ if (!process.env.HOME) process.env.HOME = "/tmp"
+ var parsed = nopt({key: path}, {}, ["--key=~/val"], 0)
+ t.same(parsed.key, path.resolve(process.env.HOME, "val"))
+ t.end()
+})
+
test("other tests", function (t) {
var util = require("util")
diff --git a/deps/npm/node_modules/npm-registry-client/lib/request.js b/deps/npm/node_modules/npm-registry-client/lib/request.js
index c11dc9ca3d8..3cbb07228b9 100644
--- a/deps/npm/node_modules/npm-registry-client/lib/request.js
+++ b/deps/npm/node_modules/npm-registry-client/lib/request.js
@@ -112,6 +112,8 @@ function regRequest (method, where, what, etag, nofollow, cb_) {
self.log.info("retry", "will retry, error on last attempt: " + er)
return
}
+ if (response)
+ this.log.verbose("headers", response.headers)
cb.apply(null, arguments)
}.bind(this))
}.bind(this))
@@ -189,6 +191,12 @@ function decodeResponseBody(cb) {
return function (er, response, data) {
if (er) return cb(er, response, data)
+ // don't ever re-use connections that had server errors.
+ // those sockets connect to the Bad Place!
+ if (response.socket && response.statusCode > 500) {
+ response.socket.destroy()
+ }
+
if (response.headers['content-encoding'] !== 'gzip') return cb(er, response, data)
zlib.gunzip(data, function (er, buf) {
diff --git a/deps/npm/node_modules/npm-registry-client/package.json b/deps/npm/node_modules/npm-registry-client/package.json
index 17d1f782c72..0a9d7314368 100644
--- a/deps/npm/node_modules/npm-registry-client/package.json
+++ b/deps/npm/node_modules/npm-registry-client/package.json
@@ -6,7 +6,7 @@
},
"name": "npm-registry-client",
"description": "Client for the npm registry",
- "version": "0.4.5",
+ "version": "0.4.7",
"repository": {
"url": "git://github.com/isaacs/npm-registry-client"
},
@@ -38,6 +38,6 @@
"url": "https://github.com/isaacs/npm-registry-client/issues"
},
"homepage": "https://github.com/isaacs/npm-registry-client",
- "_id": "npm-registry-client@0.4.5",
+ "_id": "npm-registry-client@0.4.7",
"_from": "npm-registry-client@latest"
}
diff --git a/deps/npm/node_modules/npmconf/config-defs.js b/deps/npm/node_modules/npmconf/config-defs.js
index 1815870f6ff..f879a941d65 100644
--- a/deps/npm/node_modules/npmconf/config-defs.js
+++ b/deps/npm/node_modules/npmconf/config-defs.js
@@ -177,9 +177,10 @@ Object.defineProperty(exports, "defaults", {get: function () {
, proxy : process.env.HTTP_PROXY || process.env.http_proxy || null
, "https-proxy" : process.env.HTTPS_PROXY || process.env.https_proxy ||
process.env.HTTP_PROXY || process.env.http_proxy || null
- , "user-agent" : "node/" + process.version
- + ' ' + process.platform
- + ' ' + process.arch
+ , "user-agent" : "npm/{npm-version} "
+ + "node/{node-version} "
+ + "{platform} "
+ + "{arch}"
, "rebuild-bundle" : true
, registry : "https://registry.npmjs.org/"
, rollback : true
@@ -188,6 +189,7 @@ Object.defineProperty(exports, "defaults", {get: function () {
, "save-dev" : false
, "save-exact" : false
, "save-optional" : false
+ , "save-prefix": "^"
, searchopts: ""
, searchexclude: null
, searchsort: "name"
@@ -290,6 +292,7 @@ exports.types =
, "save-dev" : Boolean
, "save-exact" : Boolean
, "save-optional" : Boolean
+ , "save-prefix": String
, searchopts : String
, searchexclude: [null, String]
, searchsort: [ "name", "-name"
diff --git a/deps/npm/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list/package.json b/deps/npm/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list/package.json
index b7117440c60..a7349f06b7a 100644
--- a/deps/npm/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list/package.json
+++ b/deps/npm/node_modules/npmconf/node_modules/config-chain/node_modules/proto-list/package.json
@@ -29,9 +29,7 @@
},
"homepage": "https://github.com/isaacs/proto-list",
"_id": "proto-list@1.2.2",
- "dist": {
- "shasum": "48b88798261ec2c4a785720cdfec6200d57d3326"
- },
+ "_shasum": "48b88798261ec2c4a785720cdfec6200d57d3326",
"_from": "proto-list@~1.2.1",
"_resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.2.tgz"
}
diff --git a/deps/npm/node_modules/npmconf/node_modules/config-chain/package.json b/deps/npm/node_modules/npmconf/node_modules/config-chain/package.json
index 72ab798b72b..2f8695410e5 100644
--- a/deps/npm/node_modules/npmconf/node_modules/config-chain/package.json
+++ b/deps/npm/node_modules/npmconf/node_modules/config-chain/package.json
@@ -28,9 +28,7 @@
"url": "https://github.com/dominictarr/config-chain/issues"
},
"_id": "config-chain@1.1.8",
- "dist": {
- "shasum": "a3b9ae699dedb3a7837615001f3cf646ca37c77a"
- },
+ "_shasum": "0943d0b7227213a20d4eaff4434f4a1c0a052cad",
"_from": "config-chain@~1.1.8",
"_resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.8.tgz"
}
diff --git a/deps/npm/node_modules/npmconf/package.json b/deps/npm/node_modules/npmconf/package.json
index 89b8fc80871..3e3c76e6b78 100644
--- a/deps/npm/node_modules/npmconf/package.json
+++ b/deps/npm/node_modules/npmconf/package.json
@@ -1,6 +1,6 @@
{
"name": "npmconf",
- "version": "0.1.13",
+ "version": "0.1.15",
"description": "The config thing npm uses",
"main": "npmconf.js",
"directories": {
@@ -45,6 +45,7 @@
"url": "https://github.com/isaacs/npmconf/issues"
},
"homepage": "https://github.com/isaacs/npmconf",
- "_id": "npmconf@0.1.13",
+ "_id": "npmconf@0.1.15",
+ "_shasum": "9df0f0545d04d121330c32a5be9d351b4a8df029",
"_from": "npmconf@latest"
}
diff --git a/deps/npm/node_modules/read-installed/package.json b/deps/npm/node_modules/read-installed/package.json
index 7887f71a9d8..41a980f76eb 100644
--- a/deps/npm/node_modules/read-installed/package.json
+++ b/deps/npm/node_modules/read-installed/package.json
@@ -1,7 +1,7 @@
{
"name": "read-installed",
"description": "Read all the installed packages in a folder, and return a tree structure with all the data.",
- "version": "2.0.1",
+ "version": "2.0.2",
"repository": {
"type": "git",
"url": "git://github.com/isaacs/read-installed"
@@ -35,6 +35,6 @@
"url": "https://github.com/isaacs/read-installed/issues"
},
"homepage": "https://github.com/isaacs/read-installed",
- "_id": "read-installed@2.0.1",
+ "_id": "read-installed@2.0.2",
"_from": "read-installed@latest"
}
diff --git a/deps/npm/node_modules/read-installed/read-installed.js b/deps/npm/node_modules/read-installed/read-installed.js
index f9104934d3e..a33758b1720 100644
--- a/deps/npm/node_modules/read-installed/read-installed.js
+++ b/deps/npm/node_modules/read-installed/read-installed.js
@@ -334,10 +334,13 @@ function findUnmet (obj, opts) {
dependency = obj.parent.dependencies && obj.parent.dependencies[d]
}
- if (!dependency) return
-
- if (!semver.satisfies(dependency.version, peerDeps[d], true)) {
+ if (!dependency) {
+ // mark as a missing dep!
+ obj.dependencies[d] = peerDeps[d]
+ } else if (!semver.satisfies(dependency.version, peerDeps[d], true)) {
dependency.peerInvalid = true
+ } else {
+ dependency.extraneous = false
}
})
diff --git a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/.travis.yml b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/.travis.yml
index 2ca91f28954..6e5919de39a 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/.travis.yml
+++ b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/.travis.yml
@@ -1,4 +1,3 @@
language: node_js
node_js:
- "0.10"
- - "0.8" \ No newline at end of file
diff --git a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/fixer.js b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/fixer.js
index 3414c093293..2bcc2290d42 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/fixer.js
+++ b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/fixer.js
@@ -6,8 +6,6 @@ var url = require("url")
var typos = require("./typos")
var coreModuleNames = require("./core_module_names")
var githubUserRepo = require("github-url-from-username-repo")
-var warningMessages = require('./warning_messages.json')
-var format = require('util').format
var fixer = module.exports = {
// default warning function
@@ -15,10 +13,10 @@ var fixer = module.exports = {
fixRepositoryField: function(data) {
if (data.repositories) {
- this.warn(warningMessages.repositories);
+ this.warn("repositories");
data.repository = data.repositories[0]
}
- if (!data.repository) return this.warn(warningMessages.missingRepository)
+ if (!data.repository) return this.warn("missingRepository")
if (typeof data.repository === "string") {
data.repository = {
type: "git",
@@ -37,14 +35,14 @@ var fixer = module.exports = {
}
if (r.match(/github.com\/[^\/]+\/[^\/]+\.git\.git$/)) {
- this.warn(format(warningMessages.brokenGitUrl, r))
+ this.warn("brokenGitUrl", r)
}
}
, fixTypos: function(data) {
Object.keys(typos.topLevel).forEach(function (d) {
if (data.hasOwnProperty(d)) {
- this.warn(makeTypoWarning(d, typos.topLevel[d]))
+ this.warn("typo", d, typos.topLevel[d])
}
}, this)
}
@@ -52,15 +50,15 @@ var fixer = module.exports = {
, fixScriptsField: function(data) {
if (!data.scripts) return
if (typeof data.scripts !== "object") {
- this.warn(warningMessages.nonObjectScripts)
+ this.warn("nonObjectScripts")
delete data.scripts
}
Object.keys(data.scripts).forEach(function (k) {
if (typeof data.scripts[k] !== "string") {
- this.warn(warningMessages.nonStringScript)
+ this.warn("nonStringScript")
delete data.scripts[k]
} else if (typos.script[k]) {
- this.warn(makeTypoWarning(k, typos.script[k], "scripts"))
+ this.warn("typo", k, typos.script[k], "scripts")
}
}, this)
}
@@ -68,12 +66,12 @@ var fixer = module.exports = {
, fixFilesField: function(data) {
var files = data.files
if (files && !Array.isArray(files)) {
- this.warn(warningMessages.nonArrayFiles)
+ this.warn("nonArrayFiles")
delete data.files
} else if (data.files) {
data.files = data.files.filter(function(file) {
if (!file || typeof file !== "string") {
- this.warn(format(warningMessages.invalidFilename, file))
+ this.warn("invalidFilename", file)
return false
} else {
return true
@@ -105,12 +103,12 @@ var fixer = module.exports = {
delete data[bdd]
}
if (data[bd] && !Array.isArray(data[bd])) {
- this.warn(warningMessages.nonArrayBundleDependencies)
+ this.warn("nonArrayBundleDependencies")
delete data[bd]
} else if (data[bd]) {
data[bd] = data[bd].filter(function(bd) {
if (!bd || typeof bd !== 'string') {
- this.warn(format(warningMessages.nonStringBundleDependency, bd))
+ this.warn("nonStringBundleDependency", bd)
return false
} else {
return true
@@ -128,14 +126,14 @@ var fixer = module.exports = {
;['dependencies','devDependencies'].forEach(function(deps) {
if (!(deps in data)) return
if (!data[deps] || typeof data[deps] !== "object") {
- this.warn(format(warningMessages.nonObjectDependencies, deps))
+ this.warn("nonObjectDependencies", deps)
delete data[deps]
return
}
Object.keys(data[deps]).forEach(function (d) {
var r = data[deps][d]
if (typeof r !== 'string') {
- this.warn(format(warningMessages.nonStringDependency, d, JSON.stringify(r)))
+ this.warn("nonStringDependency", d, JSON.stringify(r))
delete data[deps][d]
}
// "/" is not allowed as packagename for publishing, but for git-urls
@@ -149,7 +147,7 @@ var fixer = module.exports = {
, fixModulesField: function (data) {
if (data.modules) {
- this.warn(warningMessages.deprecatedModules)
+ this.warn("deprecatedModules")
delete data.modules
}
}
@@ -160,11 +158,11 @@ var fixer = module.exports = {
}
if (data.keywords && !Array.isArray(data.keywords)) {
delete data.keywords
- this.warn(warningMessages.nonArrayKeywords)
+ this.warn("nonArrayKeywords")
} else if (data.keywords) {
data.keywords = data.keywords.filter(function(kw) {
if (typeof kw !== "string" || !kw) {
- this.warn(warningMessages.nonStringKeyword);
+ this.warn("nonStringKeyword");
return false
} else {
return true
@@ -205,24 +203,24 @@ var fixer = module.exports = {
data.name = data.name.trim()
ensureValidName(data.name, strict)
if (coreModuleNames.indexOf(data.name) !== -1)
- this.warn(format(warningMessages.conflictingName, data.name))
+ this.warn("conflictingName", data.name)
}
, fixDescriptionField: function (data) {
if (data.description && typeof data.description !== 'string') {
- this.warn(warningMessages.nonStringDescription)
+ this.warn("nonStringDescription")
delete data.description
}
if (data.readme && !data.description)
data.description = extractDescription(data.readme)
if(data.description === undefined) delete data.description;
- if (!data.description) this.warn(warningMessages.missingDescription)
+ if (!data.description) this.warn("missingDescription")
}
, fixReadmeField: function (data) {
if (!data.readme) {
- this.warn(warningMessages.missingReadme)
+ this.warn("missingReadme")
data.readme = "ERROR: No README data found!"
}
}
@@ -245,7 +243,7 @@ var fixer = module.exports = {
else if(url.parse(data.bugs).protocol)
data.bugs = {url: data.bugs}
else
- this.warn(warningMessages.nonEmailUrlBugsString)
+ this.warn("nonEmailUrlBugsString")
}
else {
bugsTypos(data.bugs, this.warn)
@@ -255,18 +253,18 @@ var fixer = module.exports = {
if(typeof(oldBugs.url) == "string" && url.parse(oldBugs.url).protocol)
data.bugs.url = oldBugs.url
else
- this.warn(warningMessages.nonUrlBugsUrlField)
+ this.warn("nonUrlBugsUrlField")
}
if(oldBugs.email) {
if(typeof(oldBugs.email) == "string" && emailRe.test(oldBugs.email))
data.bugs.email = oldBugs.email
else
- this.warn(warningMessages.nonEmailBugsEmailField)
+ this.warn("nonEmailBugsEmailField")
}
}
if(!data.bugs.email && !data.bugs.url) {
delete data.bugs
- this.warn(warningMessages.emptyNormalizedBugs)
+ this.warn("emptyNormalizedBugs")
}
}
}
@@ -282,11 +280,11 @@ var fixer = module.exports = {
return true
if(typeof data.homepage !== "string") {
- this.warn(warningMessages.nonUrlHomepage)
+ this.warn("nonUrlHomepage")
return delete data.homepage
}
if(!url.parse(data.homepage).protocol) {
- this.warn(warningMessages.missingProtocolHomepage)
+ this.warn("missingProtocolHomepage")
data.homepage = "http://" + data.homepage
}
}
@@ -350,7 +348,7 @@ function depObjectify (deps, type, warn) {
deps = deps.trim().split(/[\n\r\s\t ,]+/)
}
if (!Array.isArray(deps)) return deps
- warn(format(warningMessages.deprecatedArrayDependencies, type))
+ warn("deprecatedArrayDependencies", type)
var o = {}
deps.filter(function (d) {
return typeof d === "string"
@@ -376,17 +374,9 @@ function bugsTypos(bugs, warn) {
if (!bugs) return
Object.keys(bugs).forEach(function (k) {
if (typos.bugs[k]) {
- warn(makeTypoWarning(k, typos.bugs[k], "bugs"))
+ warn("typo", k, typos.bugs[k], "bugs")
bugs[typos.bugs[k]] = bugs[k]
delete bugs[k]
}
})
-}
-
-function makeTypoWarning (providedName, probableName, field) {
- if (field) {
- providedName = field + "['" + providedName + "']"
- probableName = field + "['" + probableName + "']"
- }
- return format(warningMessages.typo, providedName, probableName)
} \ No newline at end of file
diff --git a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/make_warning.js b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/make_warning.js
new file mode 100644
index 00000000000..0f3aad5f558
--- /dev/null
+++ b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/make_warning.js
@@ -0,0 +1,23 @@
+var util = require("util")
+var messages = require("./warning_messages.json")
+
+module.exports = function() {
+ var args = Array.prototype.slice.call(arguments, 0)
+ var warningName = args.shift()
+ if (warningName == "typo") {
+ return makeTypoWarning.apply(null,args)
+ }
+ else {
+ var msgTemplate = messages[warningName] ? messages[warningName] : warningName + ": '%s'"
+ args.unshift(msgTemplate)
+ return util.format.apply(null, args)
+ }
+}
+
+function makeTypoWarning (providedName, probableName, field) {
+ if (field) {
+ providedName = field + "['" + providedName + "']"
+ probableName = field + "['" + probableName + "']"
+ }
+ return util.format(messages.typo, providedName, probableName)
+} \ No newline at end of file
diff --git a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/normalize.js b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/normalize.js
index a44b0246a0f..7e6beefdae8 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/normalize.js
+++ b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/normalize.js
@@ -1,6 +1,7 @@
module.exports = normalize
var fixer = require("./fixer")
+var makeWarning = require("./make_warning")
var fieldsToFix = ['name','version','description','repository','modules','scripts'
,'files','bin','man','bugs','keywords','readme','homepage']
@@ -24,7 +25,7 @@ function normalize (data, warn, strict) {
!data.scripts.preinstall) {
data.gypfile = true
}
- fixer.warn = warn
+ fixer.warn = function() { warn(makeWarning.apply(null, arguments)) }
thingsToFix.forEach(function(thingName) {
fixer["fix" + ucFirst(thingName)](data, strict)
})
diff --git a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/package.json b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/package.json
index cee90798847..449cfb7df24 100644
--- a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/package.json
+++ b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/package.json
@@ -1,6 +1,6 @@
{
"name": "normalize-package-data",
- "version": "0.2.12",
+ "version": "0.2.13",
"author": {
"name": "Meryn Stol",
"email": "merynstol@gmail.com"
@@ -15,9 +15,9 @@
"test": "tap test/*.js"
},
"dependencies": {
- "semver": "2",
"github-url-from-git": "~1.1.1",
- "github-url-from-username-repo": "0.0.2"
+ "github-url-from-username-repo": "^0.1.0",
+ "semver": "2"
},
"devDependencies": {
"tap": "~0.2.5",
@@ -44,6 +44,7 @@
"url": "https://github.com/meryn/normalize-package-data/issues"
},
"homepage": "https://github.com/meryn/normalize-package-data",
- "_id": "normalize-package-data@0.2.12",
- "_from": "normalize-package-data@~0.2.9"
+ "_id": "normalize-package-data@0.2.13",
+ "_shasum": "50f9fd9e77b1c8411cd231db2962e73963de774d",
+ "_from": "normalize-package-data@^0.2.13"
}
diff --git a/deps/npm/node_modules/read-package-json/package.json b/deps/npm/node_modules/read-package-json/package.json
index a2eb414c020..fdfe963f6ff 100644
--- a/deps/npm/node_modules/read-package-json/package.json
+++ b/deps/npm/node_modules/read-package-json/package.json
@@ -1,6 +1,6 @@
{
"name": "read-package-json",
- "version": "1.1.8",
+ "version": "1.1.9",
"author": {
"name": "Isaac Z. Schlueter",
"email": "i@izs.me",
@@ -18,7 +18,7 @@
"dependencies": {
"glob": "~3.2.1",
"lru-cache": "2",
- "normalize-package-data": "~0.2.9",
+ "normalize-package-data": "^0.2.13",
"graceful-fs": "2"
},
"devDependencies": {
@@ -34,6 +34,7 @@
"url": "https://github.com/isaacs/read-package-json/issues"
},
"homepage": "https://github.com/isaacs/read-package-json",
- "_id": "read-package-json@1.1.8",
+ "_id": "read-package-json@1.1.9",
+ "_shasum": "9c319185e5f8461661c01f8d4e5e80b468aa18ee",
"_from": "read-package-json@latest"
}
diff --git a/deps/npm/node_modules/uid-number/LICENCE b/deps/npm/node_modules/uid-number/LICENCE
new file mode 100644
index 00000000000..74489e2e265
--- /dev/null
+++ b/deps/npm/node_modules/uid-number/LICENCE
@@ -0,0 +1,25 @@
+Copyright (c) Isaac Z. Schlueter
+All rights reserved.
+
+The BSD License
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
diff --git a/deps/npm/package.json b/deps/npm/package.json
index 6e5004af72c..a11bacef348 100644
--- a/deps/npm/package.json
+++ b/deps/npm/package.json
@@ -1,5 +1,5 @@
{
- "version": "1.4.6",
+ "version": "1.4.8",
"name": "npm",
"publishConfig": {
"proprietary-attribs": false
@@ -49,21 +49,21 @@
"fstream": "~0.1.25",
"fstream-npm": "~0.1.6",
"github-url-from-git": "1.1.1",
- "github-url-from-username-repo": "0.0.2",
+ "github-url-from-username-repo": "~0.1.0",
"glob": "~3.2.9",
"graceful-fs": "~2.0.2",
"ini": "~1.1.0",
- "init-package-json": "0.0.15",
+ "init-package-json": "0.0.16",
"lockfile": "~0.4.0",
"lru-cache": "~2.5.0",
"minimatch": "~0.2.14",
"mkdirp": "~0.3.5",
"node-gyp": "~0.13.0",
- "nopt": "~2.2.0",
+ "nopt": "~2.2.1",
"npm-install-checks": "~1.0.0",
- "npm-registry-client": "~0.4.5",
+ "npm-registry-client": "~0.4.7",
"npm-user-validate": "0.0.3",
- "npmconf": "~0.1.13",
+ "npmconf": "~0.1.15",
"npmlog": "0.0.6",
"once": "~1.3.0",
"opener": "~1.3.0",
@@ -71,7 +71,7 @@
"path-is-inside": "~1.0.0",
"read": "~1.0.4",
"read-installed": "~2.0.1",
- "read-package-json": "~1.1.8",
+ "read-package-json": "~1.1.9",
"request": "~2.30.0",
"retry": "~0.6.0",
"rimraf": "~2.2.5",
@@ -138,20 +138,21 @@
"which"
],
"devDependencies": {
- "npm-registry-mock": "~0.5",
+ "npm-registry-mock": "~0.6.3",
"ronn": "~0.3.6",
- "tap": "~0.4.0"
+ "tap": "~0.4.9"
},
"engines": {
"node": ">=0.8",
"npm": "1"
},
"scripts": {
- "test": "node ./test/run.js && tap test/tap/*.js",
- "tap": "tap test/tap/*.js",
+ "test-legacy": "node ./test/run.js",
+ "test": "tap --timeout 120 test/tap/*.js",
+ "tap": "tap --timeout 120 test/tap/*.js",
+ "test-all": "node ./test/run.js && tap test/tap/*.js",
"prepublish": "node bin/npm-cli.js prune --prefix=. --no-global && rm -rf test/*/*/node_modules && make -j32 doc",
- "dumpconf": "env | grep npm | sort | uniq",
- "echo": "node bin/npm-cli.js"
+ "dumpconf": "env | grep npm | sort | uniq"
},
"license": "Artistic-2.0"
}
diff --git a/deps/npm/scripts/doc-build.sh b/deps/npm/scripts/doc-build.sh
index 849ffce3f7d..0eb59321bf9 100755
--- a/deps/npm/scripts/doc-build.sh
+++ b/deps/npm/scripts/doc-build.sh
@@ -53,15 +53,17 @@ case $dest in
exit $?
;;
*.html)
+ url=${dest/html\//}
(cat html/dochead.html && \
./node_modules/.bin/ronn -f $src &&
cat html/docfoot.html)\
| sed "s|@NAME@|$name|g" \
| sed "s|@DATE@|$date|g" \
+ | sed "s|@URL@|$url|g" \
| sed "s|@VERSION@|$version|g" \
| perl -pi -e 's/<h1>([^\(]*\([0-9]\)) -- (.*?)<\/h1>/<h1>\1<\/h1> <p>\2<\/p>/g' \
| perl -pi -e 's/npm-npm/npm/g' \
- | perl -pi -e 's/([^"-])(npm-)?README(\(1\))?/\1<a href="..\/..\/doc\/README.html">README<\/a>/g' \
+ | perl -pi -e 's/([^"-])(npm-)?README(?!\.html)(\(1\))?/\1<a href="..\/..\/doc\/README.html">README<\/a>/g' \
| perl -pi -e 's/<title><a href="[^"]+README.html">README<\/a><\/title>/<title>README<\/title>/g' \
| perl -pi -e 's/([^"-])([^\(> ]+)(\(1\))/\1<a href="..\/cli\/\2.html">\2\3<\/a>/g' \
| perl -pi -e 's/([^"-])([^\(> ]+)(\(3\))/\1<a href="..\/api\/\2.html">\2\3<\/a>/g' \
diff --git a/deps/npm/test/common-tap.js b/deps/npm/test/common-tap.js
index a13a0a7cdeb..d6d09ed9bca 100644
--- a/deps/npm/test/common-tap.js
+++ b/deps/npm/test/common-tap.js
@@ -1,2 +1,32 @@
+var spawn = require("child_process").spawn
+
var port = exports.port = 1337
exports.registry = "http://localhost:" + port
+process.env.npm_config_loglevel = "error"
+
+var bin = exports.bin = require.resolve("../bin/npm-cli.js")
+var once = require("once")
+exports.npm = function (cmd, opts, cb) {
+ cb = once(cb)
+ cmd = [bin].concat(cmd)
+ opts = opts || {}
+
+ var stdout = ""
+ , stderr = ""
+ , node = process.execPath
+ , child = spawn(node, cmd, opts)
+
+ if (child.stderr) child.stderr.on("data", function (chunk) {
+ stderr += chunk
+ })
+
+ if (child.stdout) child.stdout.on("data", function (chunk) {
+ stdout += chunk
+ })
+
+ child.on("error", cb)
+
+ child.on("close", function (code, signal) {
+ cb(null, code, stdout, stderr)
+ })
+}
diff --git a/deps/npm/test/tap/00-check-mock-dep.js b/deps/npm/test/tap/00-check-mock-dep.js
new file mode 100644
index 00000000000..c4d2ff2c224
--- /dev/null
+++ b/deps/npm/test/tap/00-check-mock-dep.js
@@ -0,0 +1,15 @@
+console.log("TAP Version 13")
+
+process.on("uncaughtException", function(er) {
+ console.log("not ok - Failed checking mock registry dep. Expect much fail!")
+ console.log("1..1")
+ process.exit(1)
+})
+
+var assert = require("assert")
+var semver = require("semver")
+var mock = require("npm-registry-mock/package.json").version
+var req = require("../../package.json").devDependencies["npm-registry-mock"]
+assert(semver.satisfies(mock, req))
+console.log("ok")
+console.log("1..1")
diff --git a/deps/npm/test/tap/404-parent.js b/deps/npm/test/tap/404-parent.js
index a7eff25b6e6..b3c353827f7 100644
--- a/deps/npm/test/tap/404-parent.js
+++ b/deps/npm/test/tap/404-parent.js
@@ -7,6 +7,7 @@ var fs = require('fs')
var rimraf = require('rimraf')
var mkdirp = require('mkdirp')
var pkg = path.resolve(__dirname, '404-parent')
+var mr = require("npm-registry-mock")
test('404-parent: if parent exists, specify parent in error message', function(t) {
setup()
@@ -41,9 +42,12 @@ function setup() {
}
function performInstall(cb) {
- npm.load(function() {
- npm.commands.install(pkg, [], function(err) {
- cb(err)
+ mr(common.port, function (s) { // create mock registry.
+ npm.load({registry: common.registry}, function() {
+ npm.commands.install(pkg, [], function(err) {
+ cb(err)
+ s.close() // shutdown mock npm server.
+ })
})
})
}
diff --git a/deps/npm/test/tap/cache-add-unpublished.js b/deps/npm/test/tap/cache-add-unpublished.js
new file mode 100644
index 00000000000..e3132131453
--- /dev/null
+++ b/deps/npm/test/tap/cache-add-unpublished.js
@@ -0,0 +1,61 @@
+var common = require('../common-tap.js')
+var test = require('tap').test
+
+var server
+
+var port = common.port
+var http = require("http")
+
+var doc = {
+ "_id": "superfoo",
+ "_rev": "5-d11adeec0fdfea6b96b120610d2bed71",
+ "name": "superfoo",
+ "time": {
+ "modified": "2014-02-18T18:35:02.930Z",
+ "created": "2014-02-18T18:34:08.437Z",
+ "1.1.0": "2014-02-18T18:34:08.437Z",
+ "unpublished": {
+ "name": "isaacs",
+ "time": "2014-04-30T18:26:45.584Z",
+ "tags": {
+ "latest": "1.1.0"
+ },
+ "maintainers": [
+ {
+ "name": "foo",
+ "email": "foo@foo.com"
+ }
+ ],
+ "description": "do lots a foo",
+ "versions": [
+ "1.1.0"
+ ]
+ }
+ },
+ "_attachments": {}
+}
+
+test("setup", function (t) {
+ server = http.createServer(function(req, res) {
+ res.end(JSON.stringify(doc))
+ })
+ server.listen(port, function() {
+ t.end()
+ })
+})
+
+test("cache add", function (t) {
+ common.npm(["cache", "add", "superfoo"], {}, function (er, c, so, se) {
+ if (er) throw er
+ t.ok(c)
+ t.equal(so, "")
+ t.similar(se, /404 Not Found: superfoo/)
+ t.end()
+ })
+})
+
+test("cleanup", function (t) {
+ server.close(function() {
+ t.end()
+ })
+})
diff --git a/deps/npm/test/tap/cache-shasum.js b/deps/npm/test/tap/cache-shasum.js
new file mode 100644
index 00000000000..460f2ee3ff1
--- /dev/null
+++ b/deps/npm/test/tap/cache-shasum.js
@@ -0,0 +1,60 @@
+var npm = require.resolve("../../")
+var test = require("tap").test
+var path = require("path")
+var fs = require("fs")
+var rimraf = require("rimraf")
+var mkdirp = require("mkdirp")
+var mr = require("npm-registry-mock")
+var common = require("../common-tap.js")
+var cache = path.resolve(__dirname, "cache-shasum")
+var spawn = require("child_process").spawn
+var sha = require("sha")
+var server
+
+test("mock reg", function(t) {
+ rimraf.sync(cache)
+ mkdirp.sync(cache)
+ mr(common.port, function (s) {
+ server = s
+ t.pass("ok")
+ t.end()
+ })
+})
+
+test("npm cache add request", function(t) {
+ var c = spawn(process.execPath, [
+ npm, "cache", "add", "request@2.27.0",
+ "--cache=" + cache,
+ "--registry=" + common.registry,
+ "--loglevel=quiet"
+ ])
+ c.stderr.pipe(process.stderr)
+
+ c.stdout.on("data", function(d) {
+ t.fail("Should not get data on stdout: " + d)
+ })
+
+ c.on("close", function(code) {
+ t.notOk(code, "exit ok")
+ t.end()
+ })
+})
+
+test("compare", function(t) {
+ var d = path.resolve(__dirname, "cache-shasum/request")
+ var p = path.resolve(d, "2.27.0/package.tgz")
+ var r = require(path.resolve(d, ".cache.json"))
+ var rshasum = r.versions['2.27.0'].dist.shasum
+ sha.get(p, function (er, pshasum) {
+ if (er)
+ throw er
+ t.equal(pshasum, rshasum)
+ t.end()
+ })
+})
+
+test("cleanup", function(t) {
+ server.close()
+ rimraf.sync(cache)
+ t.end()
+})
diff --git a/deps/npm/test/tap/circular-dep.js b/deps/npm/test/tap/circular-dep.js
index d9f72e7ddbf..533f46451c6 100644
--- a/deps/npm/test/tap/circular-dep.js
+++ b/deps/npm/test/tap/circular-dep.js
@@ -4,10 +4,13 @@ var test = require("tap").test
, existsSync = fs.existsSync || path.existsSync
, npm = require("../../")
, rimraf = require("rimraf")
+ , osenv = require("osenv")
, mr = require("npm-registry-mock")
, common = require("../common-tap.js")
, server
+var pkg = path.resolve(__dirname, "circular-dep")
+
test("installing a package that depends on the current package", function (t) {
t.plan(1)
@@ -16,8 +19,8 @@ test("installing a package that depends on the current package", function (t) {
if (err) return t.fail(err)
npm.dedupe(function(err) {
if (err) return t.fail(err)
- t.ok(existsSync(path.join(__dirname,
- "circular-dep", "minimist", "node_modules", "optimist",
+ t.ok(existsSync(path.resolve(pkg,
+ "minimist", "node_modules", "optimist",
"node_modules", "minimist"
)))
cleanup()
@@ -28,22 +31,22 @@ test("installing a package that depends on the current package", function (t) {
})
function setup (cb) {
- process.chdir(path.join(__dirname, "circular-dep", "minimist"))
cleanup()
- fs.mkdirSync(path.join(__dirname,
- "circular-dep", "minimist", "node_modules"))
+ process.chdir(path.resolve(pkg, "minimist"))
+
+ fs.mkdirSync(path.resolve(pkg, "minimist/node_modules"))
mr(common.port, function (s) {
server = s
npm.load({
+ loglevel: "silent",
registry: common.registry,
- cache: path.resolve(__dirname, "circular-dep", "cache")
+ cache: path.resolve(pkg, "cache")
}, cb)
})
}
function cleanup() {
- rimraf.sync(path.join(__dirname,
- "circular-dep", "minimist", "node_modules"))
- rimraf.sync(path.join(__dirname,
- "circular-dep", "cache"))
+ process.chdir(osenv.tmpdir())
+ rimraf.sync(path.resolve(pkg, "minimist/node_modules"))
+ rimraf.sync(path.resolve(pkg, "cache"))
}
diff --git a/deps/npm/test/tap/config-meta.js b/deps/npm/test/tap/config-meta.js
index d787c414ca3..63cdd61c4f8 100644
--- a/deps/npm/test/tap/config-meta.js
+++ b/deps/npm/test/tap/config-meta.js
@@ -41,7 +41,6 @@ test("get files", function (t) {
test("get lines", function (t) {
FILES.forEach(function (f) {
- console.error(f)
var lines = fs.readFileSync(f, 'utf8').split('\n')
lines.forEach(function (l, i) {
var matches = l.split(/conf(?:ig)?\.get\(/g)
@@ -78,7 +77,6 @@ test("get docs", function (t) {
DOC[ d[i].replace(/^### /, '').trim() ] = true
}
t.pass("read the docs")
- console.error(DOC)
t.end()
})
diff --git a/deps/npm/test/tap/dedupe.js b/deps/npm/test/tap/dedupe.js
index 9a8b31a7991..b4b7495aa87 100644
--- a/deps/npm/test/tap/dedupe.js
+++ b/deps/npm/test/tap/dedupe.js
@@ -4,17 +4,19 @@ var test = require("tap").test
, existsSync = fs.existsSync || path.existsSync
, npm = require("../../")
, rimraf = require("rimraf")
+ , mr = require("npm-registry-mock")
+ , common = require('../common-tap.js')
test("dedupe finds the common module and moves it up one level", function (t) {
- t.plan(2)
-
- setup(function () {
+ setup(function (s) {
npm.install(".", function (err) {
if (err) return t.fail(err)
npm.dedupe(function(err) {
if (err) return t.fail(err)
t.ok(existsSync(path.join(__dirname, "dedupe", "node_modules", "minimist")))
- t.ok(!existsSync(path.join(__dirname, "dedupe", "node_modules", "prime")))
+ t.ok(!existsSync(path.join(__dirname, "dedupe", "node_modules", "checker")))
+ s.close() // shutdown mock registry.
+ t.end()
})
})
})
@@ -22,9 +24,11 @@ test("dedupe finds the common module and moves it up one level", function (t) {
function setup (cb) {
process.chdir(path.join(__dirname, "dedupe"))
- npm.load(function () {
- rimraf.sync(path.join(__dirname, "dedupe", "node_modules"))
- fs.mkdirSync(path.join(__dirname, "dedupe", "node_modules"))
- cb()
+ mr(common.port, function (s) { // create mock registry.
+ npm.load({registry: common.registry}, function() {
+ rimraf.sync(path.join(__dirname, "dedupe", "node_modules"))
+ fs.mkdirSync(path.join(__dirname, "dedupe", "node_modules"))
+ cb(s)
+ })
})
}
diff --git a/deps/npm/test/tap/dedupe/package.json b/deps/npm/test/tap/dedupe/package.json
index d0f79ff2023..842d4b2b2d7 100644
--- a/deps/npm/test/tap/dedupe/package.json
+++ b/deps/npm/test/tap/dedupe/package.json
@@ -4,8 +4,6 @@
"version": "0.0.0",
"dependencies": {
"optimist": "0.6.0",
- "clean": "2.1.6",
- "informal": "0.0.1",
- "pathogen": "0.1.5"
+ "clean": "2.1.6"
}
}
diff --git a/deps/npm/test/tap/git-cache-locking.js b/deps/npm/test/tap/git-cache-locking.js
index dcecad9ebf3..b9b328f30c6 100644
--- a/deps/npm/test/tap/git-cache-locking.js
+++ b/deps/npm/test/tap/git-cache-locking.js
@@ -21,6 +21,9 @@ test("setup", function (t) {
test("git-cache-locking: install a git dependency", function (t) {
+ // disable git integration tests on Travis.
+ if (process.env.TRAVIS) return t.end()
+
// package c depends on a.git#master and b.git#master
// package b depends on a.git#master
var child = spawn(node, [npm, "install", "git://github.com/nigelzor/npm-4503-c.git"], {
diff --git a/deps/npm/test/tap/ignore-install-link.js b/deps/npm/test/tap/ignore-install-link.js
index 314b157a2e3..2262213754b 100644
--- a/deps/npm/test/tap/ignore-install-link.js
+++ b/deps/npm/test/tap/ignore-install-link.js
@@ -68,7 +68,6 @@ function clone (cb) {
if (c !== 0)
return cb(new Error('Failed to init the git repository'))
- console.log('Successfully inited the git repository')
process.chdir(linkDir)
performLink(cb)
})
@@ -80,7 +79,6 @@ function performLink (cb) {
if (c !== 0)
return cb(new Error('Failed to link ' + linkDir + ' globally'))
- console.log('Successfully linked ' + linkDir + ' globally')
performLink2(cb)
})
}
@@ -91,7 +89,6 @@ function performLink2 (cb) {
if (c !== 0)
return cb(new Error('Failed to link ' + linkDir + ' to local node_modules'))
- console.log('Successfully linked ' + linkDir + ' to local node_modules')
performInstall(cb)
})
}
@@ -102,7 +99,6 @@ function performInstall (cb) {
if (c !== 0)
return cb(new Error('Failed to install'))
- console.log('Successfully installed')
cb()
})
}
@@ -111,7 +107,8 @@ function createChild (cwd, cmd, args) {
var env = {
HOME: process.env.HOME,
Path: process.env.PATH,
- PATH: process.env.PATH
+ PATH: process.env.PATH,
+ npm_config_loglevel: "silent"
}
if (process.platform === "win32")
@@ -119,7 +116,7 @@ function createChild (cwd, cmd, args) {
return spawn(cmd, args, {
cwd: cwd,
- stdio: "inherit",
+ stdio: "pipe",
env: env
})
}
diff --git a/deps/npm/test/tap/ignore-scripts.js b/deps/npm/test/tap/ignore-scripts.js
index b742cf92e8a..0115b7571d8 100644
--- a/deps/npm/test/tap/ignore-scripts.js
+++ b/deps/npm/test/tap/ignore-scripts.js
@@ -35,7 +35,7 @@ var scripts = [
]
scripts.forEach(function(script) {
- test("ignore-scripts: run-script"+script+" using the option", function(t) {
+ test("ignore-scripts: run-script "+script+" using the option", function(t) {
createChild([npm, "--ignore-scripts", "run-script", script])
.on("close", function(code) {
t.equal(code, 0)
@@ -57,7 +57,8 @@ function createChild (args) {
var env = {
HOME: process.env.HOME,
Path: process.env.PATH,
- PATH: process.env.PATH
+ PATH: process.env.PATH,
+ npm_config_loglevel: "silent"
}
if (process.platform === "win32")
diff --git a/deps/npm/test/tap/install-cli-unicode.js b/deps/npm/test/tap/install-cli-unicode.js
new file mode 100644
index 00000000000..bb9b4f5eed4
--- /dev/null
+++ b/deps/npm/test/tap/install-cli-unicode.js
@@ -0,0 +1,38 @@
+var common = require('../common-tap.js')
+var test = require('tap').test
+var npm = require('../../')
+var mkdirp = require('mkdirp')
+var mr = require('npm-registry-mock')
+var exec = require('child_process').exec
+
+var pkg = __dirname + '/install-cli'
+var NPM_BIN = __dirname + '/../../bin/npm-cli.js'
+
+function hasOnlyAscii (s) {
+ return /^[\000-\177]*$/.test(s) ;
+}
+
+test('does not use unicode with --unicode false', function (t) {
+ t.plan(3)
+ mr(common.port, function (s) {
+ exec('node ' + NPM_BIN + ' install --unicode false read', {
+ cwd: pkg
+ }, function(err, stdout) {
+ t.ifError(err)
+ t.ok(stdout, stdout.length)
+ t.ok(hasOnlyAscii(stdout))
+ s.close()
+ })
+ })
+})
+
+test('cleanup', function (t) {
+ mr(common.port, function (s) {
+ exec('node ' + NPM_BIN + ' uninstall read', {
+ cwd: pkg
+ }, function(err, stdout) {
+ s.close()
+ })
+ })
+ t.end()
+})
diff --git a/deps/npm/test/tap/install-cli/README.md b/deps/npm/test/tap/install-cli/README.md
new file mode 100644
index 00000000000..dbdfb5aa0c8
--- /dev/null
+++ b/deps/npm/test/tap/install-cli/README.md
@@ -0,0 +1 @@
+# Tests for `npm install` CLI output.
diff --git a/deps/npm/test/tap/install-cli/index.js b/deps/npm/test/tap/install-cli/index.js
new file mode 100644
index 00000000000..33c1891f81e
--- /dev/null
+++ b/deps/npm/test/tap/install-cli/index.js
@@ -0,0 +1 @@
+module.exports = true
diff --git a/deps/npm/test/tap/install-cli/package.json b/deps/npm/test/tap/install-cli/package.json
new file mode 100644
index 00000000000..3d7e41d46e2
--- /dev/null
+++ b/deps/npm/test/tap/install-cli/package.json
@@ -0,0 +1,10 @@
+{
+ "name": "install-cli",
+ "description": "fixture",
+ "version": "0.0.1",
+ "main": "index.js",
+ "dependencies": {
+ "read": "1.0.5"
+ },
+ "repository": "git://github.com/robertkowalski/bogusfixture"
+}
diff --git a/deps/npm/test/tap/install-save-prefix.js b/deps/npm/test/tap/install-save-prefix.js
new file mode 100644
index 00000000000..0ce6e02fa11
--- /dev/null
+++ b/deps/npm/test/tap/install-save-prefix.js
@@ -0,0 +1,140 @@
+var common = require('../common-tap.js')
+var test = require('tap').test
+var npm = require('../../')
+var osenv = require('osenv')
+var path = require('path')
+var fs = require('fs')
+var rimraf = require('rimraf')
+var mkdirp = require('mkdirp')
+var pkg = path.join(__dirname, 'install-save-prefix')
+var mr = require("npm-registry-mock")
+
+test("setup", function (t) {
+ mkdirp.sync(pkg)
+ mkdirp.sync(path.resolve(pkg, 'node_modules'))
+ process.chdir(pkg)
+ t.end()
+})
+
+test('"npm install --save with default save-prefix should install local pkg versioned to allow minor updates', function(t) {
+ resetPackageJSON(pkg)
+ mr(common.port, function (s) {
+ npm.load({
+ cache: pkg + "/cache",
+ loglevel: 'silent',
+ registry: common.registry }, function(err) {
+ t.ifError(err)
+ npm.config.set('save', true)
+ npm.commands.install(['underscore@1.3.1'], function(err) {
+ t.ifError(err)
+ var p = path.resolve(pkg, 'node_modules/underscore/package.json')
+ t.ok(JSON.parse(fs.readFileSync(p)))
+ var pkgJson = JSON.parse(fs.readFileSync(pkg + '/package.json', 'utf8'))
+ t.deepEqual(pkgJson.dependencies, {
+ 'underscore': '^1.3.1'
+ }, 'Underscore dependency should specify ^1.3.1')
+ npm.config.set('save', undefined)
+ s.close()
+ t.end()
+ })
+ })
+ })
+})
+
+test('"npm install --save-dev with default save-prefix should install local pkg to dev dependencies versioned to allow minor updates', function(t) {
+ resetPackageJSON(pkg)
+ mr(common.port, function (s) {
+ npm.load({
+ cache: pkg + "/cache",
+ loglevel: 'silent',
+ registry: common.registry }, function(err) {
+ t.ifError(err)
+ npm.config.set('save-dev', true)
+ npm.commands.install(['underscore@1.3.1'], function(err) {
+ t.ifError(err)
+ var p = path.resolve(pkg, 'node_modules/underscore/package.json')
+ t.ok(JSON.parse(fs.readFileSync(p)))
+ var pkgJson = JSON.parse(fs.readFileSync(pkg + '/package.json', 'utf8'))
+ t.deepEqual(pkgJson.devDependencies, {
+ 'underscore': '^1.3.1'
+ }, 'Underscore devDependency should specify ^1.3.1')
+ npm.config.set('save-dev', undefined)
+ s.close()
+ t.end()
+ })
+ })
+ })
+})
+
+test('"npm install --save with "~" save-prefix should install local pkg versioned to allow patch updates', function(t) {
+ resetPackageJSON(pkg)
+ mr(common.port, function (s) {
+ npm.load({
+ cache: pkg + "/cache",
+ loglevel: 'silent',
+ registry: common.registry }, function(err) {
+ t.ifError(err)
+ npm.config.set('save', true)
+ npm.config.set('save-prefix', '~')
+ npm.commands.install(['underscore@1.3.1'], function(err) {
+ t.ifError(err)
+ var p = path.resolve(pkg, 'node_modules/underscore/package.json')
+ t.ok(JSON.parse(fs.readFileSync(p)))
+ var pkgJson = JSON.parse(fs.readFileSync(pkg + '/package.json', 'utf8'))
+ t.deepEqual(pkgJson.dependencies, {
+ 'underscore': '~1.3.1'
+ }, 'Underscore dependency should specify ~1.3.1')
+ npm.config.set('save', undefined)
+ npm.config.set('save-prefix', undefined)
+ s.close()
+ t.end()
+ })
+ })
+ })
+})
+
+test('"npm install --save-dev with "~" save-prefix should install local pkg to dev dependencies versioned to allow patch updates', function(t) {
+ resetPackageJSON(pkg)
+ mr(common.port, function (s) {
+ npm.load({
+ cache: pkg + "/cache",
+ loglevel: 'silent',
+ registry: common.registry }, function(err) {
+ t.ifError(err)
+ npm.config.set('save-dev', true)
+ npm.config.set('save-prefix', '~')
+ npm.commands.install(['underscore@1.3.1'], function(err) {
+ t.ifError(err)
+ var p = path.resolve(pkg, 'node_modules/underscore/package.json')
+ t.ok(JSON.parse(fs.readFileSync(p)))
+ var pkgJson = JSON.parse(fs.readFileSync(pkg + '/package.json', 'utf8'))
+ t.deepEqual(pkgJson.devDependencies, {
+ 'underscore': '~1.3.1'
+ }, 'Underscore devDependency should specify ~1.3.1')
+ npm.config.set('save-dev', undefined)
+ npm.config.set('save-prefix', undefined)
+ s.close()
+ t.end()
+ })
+ })
+ })
+})
+
+test('cleanup', function(t) {
+ process.chdir(__dirname)
+ rimraf.sync(path.resolve(pkg, 'node_modules'))
+ rimraf.sync(path.resolve(pkg, 'cache'))
+ resetPackageJSON(pkg)
+ t.end()
+})
+
+function resetPackageJSON(pkg) {
+ var pkgJson = JSON.parse(fs.readFileSync(pkg + '/package.json', 'utf8'))
+ delete pkgJson.dependencies
+ delete pkgJson.devDependencies
+ delete pkgJson.optionalDependencies
+ var json = JSON.stringify(pkgJson, null, 2) + "\n"
+ fs.writeFileSync(pkg + '/package.json', json, "ascii")
+}
+
+
diff --git a/deps/npm/test/tap/install-save-prefix/README.md b/deps/npm/test/tap/install-save-prefix/README.md
new file mode 100644
index 00000000000..aca67ff17d2
--- /dev/null
+++ b/deps/npm/test/tap/install-save-prefix/README.md
@@ -0,0 +1 @@
+# just a test
diff --git a/deps/npm/test/tap/install-save-prefix/index.js b/deps/npm/test/tap/install-save-prefix/index.js
new file mode 100644
index 00000000000..33c1891f81e
--- /dev/null
+++ b/deps/npm/test/tap/install-save-prefix/index.js
@@ -0,0 +1 @@
+module.exports = true
diff --git a/deps/npm/test/tap/install-save-prefix/package.json b/deps/npm/test/tap/install-save-prefix/package.json
new file mode 100644
index 00000000000..84789fc224f
--- /dev/null
+++ b/deps/npm/test/tap/install-save-prefix/package.json
@@ -0,0 +1,7 @@
+{
+ "name": "bla",
+ "description": "fixture",
+ "version": "0.0.1",
+ "main": "index.js",
+ "repository": "git://github.com/robertkowalski/bogusfixture"
+}
diff --git a/deps/npm/test/tap/invalid-cmd-exit-code.js b/deps/npm/test/tap/invalid-cmd-exit-code.js
new file mode 100644
index 00000000000..14db8669e9d
--- /dev/null
+++ b/deps/npm/test/tap/invalid-cmd-exit-code.js
@@ -0,0 +1,29 @@
+var test = require("tap").test
+var node = process.execPath
+var common = require("../common-tap.js")
+
+var opts = { cwd: process.cwd() }
+
+test("npm asdf should return exit code 1", function(t) {
+ common.npm(["asdf"], opts, function (er, c) {
+ if (er) throw er
+ t.ok(c, "exit code should not be zero")
+ t.end()
+ })
+})
+
+test("npm help should return exit code 0", function(t) {
+ common.npm(["help"], opts, function (er, c) {
+ if (er) throw er
+ t.equal(c, 0, "exit code should be 0")
+ t.end()
+ })
+})
+
+test("npm help fadf should return exit code 0", function(t) {
+ common.npm(["help", "fadf"], opts, function (er, c) {
+ if (er) throw er
+ t.equal(c, 0, "exit code should be 0")
+ t.end()
+ })
+})
diff --git a/deps/npm/test/tap/lifecycle-signal.js b/deps/npm/test/tap/lifecycle-signal.js
index e39e891e15b..9d88fbd79b8 100644
--- a/deps/npm/test/tap/lifecycle-signal.js
+++ b/deps/npm/test/tap/lifecycle-signal.js
@@ -7,11 +7,19 @@ var pkg = path.resolve(__dirname, "lifecycle-signal")
test("lifecycle signal abort", function (t) {
// windows does not use lifecycle signals, abort
- if (process.platform === "win32") return t.end()
+ if (process.platform === "win32" || process.env.TRAVIS) return t.end()
+
var child = spawn(node, [npm, "install"], {
cwd: pkg
})
child.on("close", function (code, signal) {
+ // GNU shell returns a code, no signal
+ if (process.platform === "linux") {
+ t.equal(code, 1)
+ t.equal(signal, null)
+ return t.end()
+ }
+
t.equal(code, null)
t.equal(signal, "SIGSEGV")
t.end()
diff --git a/deps/npm/test/tap/lifecycle.js b/deps/npm/test/tap/lifecycle.js
new file mode 100644
index 00000000000..288329c2445
--- /dev/null
+++ b/deps/npm/test/tap/lifecycle.js
@@ -0,0 +1,12 @@
+var test = require("tap").test
+var npm = require('../../')
+var lifecycle = require('../../lib/utils/lifecycle')
+
+test("lifecycle: make env correctly", function (t) {
+ npm.load({enteente: Infinity}, function() {
+ var env = lifecycle.makeEnv({}, null, process.env)
+
+ t.equal('Infinity', env.npm_config_enteente)
+ t.end()
+ })
+})
diff --git a/deps/npm/test/tap/ls-depth-cli.js b/deps/npm/test/tap/ls-depth-cli.js
new file mode 100644
index 00000000000..fcbc4364fad
--- /dev/null
+++ b/deps/npm/test/tap/ls-depth-cli.js
@@ -0,0 +1,79 @@
+var common = require('../common-tap')
+ , test = require('tap').test
+ , path = require('path')
+ , rimraf = require('rimraf')
+ , osenv = require('osenv')
+ , mkdirp = require('mkdirp')
+ , pkg = __dirname + '/ls-depth'
+ , cache = pkg + '/cache'
+ , tmp = pkg + '/tmp'
+ , node = process.execPath
+ , npm = path.resolve(__dirname, '../../cli.js')
+ , mr = require('npm-registry-mock')
+ , opts = {cwd: pkg}
+
+
+function cleanup () {
+ process.chdir(osenv.tmpdir())
+ rimraf.sync(pkg + '/cache')
+ rimraf.sync(pkg + '/tmp')
+ rimraf.sync(pkg + '/node_modules')
+}
+
+test('setup', function (t) {
+ cleanup()
+ mkdirp.sync(pkg + '/cache')
+ mkdirp.sync(pkg + '/tmp')
+ mr(common.port, function (s) {
+ var cmd = ['install', '--registry=' + common.registry]
+ common.npm(cmd, opts, function (er, c) {
+ if (er) throw er
+ t.equal(c, 0)
+ s.close()
+ t.end()
+ })
+ })
+})
+
+test('npm ls --depth=0', function (t) {
+ common.npm(['ls', '--depth=0'], opts, function (er, c, out) {
+ if (er) throw er
+ t.equal(c, 0)
+ t.has(out, /test-package-with-one-dep@0\.0\.0/
+ , "output contains test-package-with-one-dep@0.0.0")
+ t.doesNotHave(out, /test-package@0\.0\.0/
+ , "output not contains test-package@0.0.0")
+ t.end()
+ })
+})
+
+test('npm ls --depth=1', function (t) {
+ common.npm(['ls', '--depth=1'], opts, function (er, c, out) {
+ if (er) throw er
+ t.equal(c, 0)
+ t.has(out, /test-package-with-one-dep@0\.0\.0/
+ , "output contains test-package-with-one-dep@0.0.0")
+ t.has(out, /test-package@0\.0\.0/
+ , "output contains test-package@0.0.0")
+ t.end()
+ })
+})
+
+test('npm ls --depth=Infinity', function (t) {
+ // travis has a preconfigured depth=0, in general we can not depend
+ // on the default value in all environments, so explictly set it here
+ common.npm(['ls', '--depth=Infinity'], opts, function (er, c, out) {
+ if (er) throw er
+ t.equal(c, 0)
+ t.has(out, /test-package-with-one-dep@0\.0\.0/
+ , "output contains test-package-with-one-dep@0.0.0")
+ t.has(out, /test-package@0\.0\.0/
+ , "output contains test-package@0.0.0")
+ t.end()
+ })
+})
+
+test('cleanup', function (t) {
+ cleanup()
+ t.end()
+})
diff --git a/deps/npm/test/tap/ls-depth/package.json b/deps/npm/test/tap/ls-depth/package.json
new file mode 100644
index 00000000000..06f8e48a9f0
--- /dev/null
+++ b/deps/npm/test/tap/ls-depth/package.json
@@ -0,0 +1,8 @@
+{
+ "author": "Rocko Artischocko",
+ "name": "ls-depth",
+ "version": "0.0.0",
+ "dependencies": {
+ "test-package-with-one-dep": "0.0.0"
+ }
+}
diff --git a/deps/npm/test/tap/outdated-color.js b/deps/npm/test/tap/outdated-color.js
index e729d56a85f..f20bcea93cf 100644
--- a/deps/npm/test/tap/outdated-color.js
+++ b/deps/npm/test/tap/outdated-color.js
@@ -5,6 +5,7 @@ var mkdirp = require("mkdirp")
var rimraf = require("rimraf")
var mr = require("npm-registry-mock")
var exec = require('child_process').exec
+var mr = require("npm-registry-mock")
var pkg = __dirname + '/outdated'
var NPM_BIN = __dirname + '/../../bin/npm-cli.js'
@@ -25,12 +26,15 @@ function ansiTrim (str) {
// it's not running in a tty
test("does not use ansi styling", function (t) {
t.plan(3)
- exec('node ' + NPM_BIN + ' outdated --color false', {
- cwd: pkg
- }, function(err, stdout) {
- t.ifError(err)
- t.ok(stdout, stdout.length)
- t.ok(!hasControlCodes(stdout))
+ mr(common.port, function (s) { // create mock registry.
+ exec('node ' + NPM_BIN + ' outdated --registry ' + common.registry + ' --color false underscore', {
+ cwd: pkg
+ }, function(err, stdout) {
+ t.ifError(err)
+ t.ok(stdout, stdout.length)
+ t.ok(!hasControlCodes(stdout))
+ s.close()
+ })
})
})
@@ -38,4 +42,3 @@ test("cleanup", function (t) {
rimraf.sync(pkg + "/cache")
t.end()
})
-
diff --git a/deps/npm/test/tap/peer-deps-invalid.js b/deps/npm/test/tap/peer-deps-invalid.js
index 50c961e7b9a..c2873655017 100644
--- a/deps/npm/test/tap/peer-deps-invalid.js
+++ b/deps/npm/test/tap/peer-deps-invalid.js
@@ -1,77 +1,46 @@
var common = require('../common-tap.js')
var fs = require("fs")
+var path = require("path")
var test = require("tap").test
var rimraf = require("rimraf")
var npm = require("../../")
-var http = require("http")
+var mr = require("npm-registry-mock")
+var pkg = __dirname + "/peer-deps-invalid"
-var okFile = new Buffer(
-'/**package\n' +
-' * { "name": "npm-test-peer-deps-file"\n' +
-' * , "main": "index.js"\n' +
-' * , "version": "1.2.3"\n' +
-' * , "description":"No package.json in sight!"\n' +
-' * , "peerDependencies": { "dict": "1.1.0" }\n' +
-' * , "dependencies": { "opener": "1.3.0" }\n' +
-' * }\n' +
-' **/\n' +
-'\n' +
-'module.exports = "I\'m just a lonely index, naked as the day I was born."\n'
-)
+var okFile = fs.readFileSync(path.join(pkg, "file-ok.js"), "utf8")
+var failFile = fs.readFileSync(path.join(pkg, "file-fail.js"), "utf8")
-var failFile = new Buffer(
-'/**package\n' +
-' * { "name": "npm-test-peer-deps-file-invalid"\n' +
-' * , "main": "index.js"\n' +
-' * , "version": "1.2.3"\n' +
-' * , "description":"This one should conflict with the other one"\n' +
-' * , "peerDependencies": { "dict": "1.0.0" }\n' +
-' * }\n' +
-' **/\n' +
-'\n' +
-'module.exports = "I\'m just a lonely index, naked as the day I was born."\n'
-)
+test("installing dependencies that have conflicting peerDependencies", function (t) {
+ rimraf.sync(pkg + "/node_modules")
+ rimraf.sync(pkg + "/cache")
+ process.chdir(pkg)
-var server
-test("setup", function(t) {
- server = http.createServer(function (req, res) {
- res.setHeader('content-type', 'application/javascript')
- switch (req.url) {
- case "/ok.js":
- return res.end(okFile)
- default:
- return res.end(failFile)
+ var customMocks = {
+ "get": {
+ "/ok.js": [200, okFile],
+ "/invalid.js": [200, failFile]
}
- })
- server.listen(common.port, function() {
- t.pass("listening")
- t.end()
- })
-})
-
-
-
-test("installing dependencies that having conflicting peerDependencies", function (t) {
- rimraf.sync(__dirname + "/peer-deps-invalid/node_modules")
- process.chdir(__dirname + "/peer-deps-invalid")
-
- npm.load(function () {
- console.error('back from load')
- npm.commands.install([], function (err) {
- console.error('back from install')
- if (!err) {
- t.fail("No error!")
- } else {
- t.equal(err.code, "EPEERINVALID")
- }
- t.end()
+ }
+ mr({port: common.port, mocks: customMocks}, function (s) { // create mock registry.
+ npm.load({
+ cache: pkg + "/cache",
+ registry: common.registry
+ }, function () {
+ npm.commands.install([], function (err) {
+ if (!err) {
+ t.fail("No error!")
+ } else {
+ t.equal(err.code, "EPEERINVALID")
+ }
+ t.end()
+ s.close() // shutdown mock registry.
+ })
})
})
})
-test("shutdown", function(t) {
- server.close(function() {
- t.pass("closed")
- t.end()
- })
+test("cleanup", function (t) {
+ rimraf.sync(pkg + "/node_modules")
+ rimraf.sync(pkg + "/cache")
+ t.end()
})
diff --git a/deps/npm/test/tap/peer-deps-invalid/file-fail.js b/deps/npm/test/tap/peer-deps-invalid/file-fail.js
new file mode 100644
index 00000000000..5a78d0f84c2
--- /dev/null
+++ b/deps/npm/test/tap/peer-deps-invalid/file-fail.js
@@ -0,0 +1,10 @@
+/**package
+* { "name": "npm-test-peer-deps-file-invalid"
+* , "main": "index.js"
+* , "version": "1.2.3"
+* , "description":"This one should conflict with the other one"
+* , "peerDependencies": { "underscore": "1.3.3" }
+* }
+**/
+
+module.exports = "I\'m just a lonely index, naked as the day I was born."
diff --git a/deps/npm/test/tap/peer-deps-invalid/file-ok.js b/deps/npm/test/tap/peer-deps-invalid/file-ok.js
new file mode 100644
index 00000000000..957e20e4166
--- /dev/null
+++ b/deps/npm/test/tap/peer-deps-invalid/file-ok.js
@@ -0,0 +1,11 @@
+/**package
+* { "name": "npm-test-peer-deps-file"
+* , "main": "index.js"
+* , "version": "1.2.3"
+* , "description":"No package.json in sight!"
+* , "peerDependencies": { "underscore": "1.3.1" }
+* , "dependencies": { "mkdirp": "0.3.5" }
+* }
+**/
+
+module.exports = "I\'m just a lonely index, naked as the day I was born."
diff --git a/deps/npm/test/tap/peer-deps-without-package-json.js b/deps/npm/test/tap/peer-deps-without-package-json.js
index 9f987c5ee51..ce01be4d088 100644
--- a/deps/npm/test/tap/peer-deps-without-package-json.js
+++ b/deps/npm/test/tap/peer-deps-without-package-json.js
@@ -1,59 +1,47 @@
var common = require('../common-tap.js')
var fs = require("fs")
+var path = require("path")
var test = require("tap").test
var rimraf = require("rimraf")
var npm = require("../../")
+var mr = require("npm-registry-mock")
+var pkg = __dirname + "/peer-deps-without-package-json"
-var http = require("http")
-
-
-var js = new Buffer(
-'/**package\n' +
-' * { "name": "npm-test-peer-deps-file"\n' +
-' * , "main": "index.js"\n' +
-' * , "version": "1.2.3"\n' +
-' * , "description":"No package.json in sight!"\n' +
-' * , "peerDependencies": { "dict": "1.1.0" }\n' +
-' * , "dependencies": { "opener": "1.3.0" }\n' +
-' * }\n' +
-' **/\n' +
-'\n' +
-'module.exports = "I\'m just a lonely index, naked as the day I was born."\n')
-
-var server
-test("setup", function(t) {
- server = http.createServer(function (q, s) {
- s.setHeader('content-type', 'application/javascript')
- s.end(js)
- })
- server.listen(common.port, function () {
- t.pass('listening')
- t.end()
- })
-})
-
+var js = fs.readFileSync(path.join(pkg, "file-js.js"), "utf8")
test("installing a peerDependencies-using package without a package.json present (GH-3049)", function (t) {
- rimraf.sync(__dirname + "/peer-deps-without-package-json/node_modules")
- fs.mkdirSync(__dirname + "/peer-deps-without-package-json/node_modules")
- process.chdir(__dirname + "/peer-deps-without-package-json")
-
- npm.load(function () {
- npm.install(common.registry, function (err) {
- if (err) {
- t.fail(err)
- } else {
- t.ok(fs.existsSync(__dirname + "/peer-deps-without-package-json/node_modules/npm-test-peer-deps-file"))
- t.ok(fs.existsSync(__dirname + "/peer-deps-without-package-json/node_modules/dict"))
- }
- t.end()
+ rimraf.sync(pkg + "/node_modules")
+ rimraf.sync(pkg + "/cache")
+
+ fs.mkdirSync(pkg + "/node_modules")
+ process.chdir(pkg)
+
+ var customMocks = {
+ "get": {
+ "/ok.js": [200, js],
+ }
+ }
+ mr({port: common.port, mocks: customMocks}, function (s) { // create mock registry.
+ npm.load({
+ registry: common.registry,
+ cache: pkg + "/cache"
+ }, function () {
+ npm.install(common.registry + "/ok.js", function (err) {
+ if (err) {
+ t.fail(err)
+ } else {
+ t.ok(fs.existsSync(pkg + "/node_modules/npm-test-peer-deps-file"))
+ t.ok(fs.existsSync(pkg + "/node_modules/underscore"))
+ }
+ t.end()
+ s.close() // shutdown mock registry.
+ })
})
})
})
test("cleanup", function (t) {
- server.close(function() {
- t.pass("closed")
- t.end()
- })
+ rimraf.sync(pkg + "/node_modules")
+ rimraf.sync(pkg + "/cache")
+ t.end()
})
diff --git a/deps/npm/test/tap/peer-deps-without-package-json/file-js.js b/deps/npm/test/tap/peer-deps-without-package-json/file-js.js
new file mode 100644
index 00000000000..957e20e4166
--- /dev/null
+++ b/deps/npm/test/tap/peer-deps-without-package-json/file-js.js
@@ -0,0 +1,11 @@
+/**package
+* { "name": "npm-test-peer-deps-file"
+* , "main": "index.js"
+* , "version": "1.2.3"
+* , "description":"No package.json in sight!"
+* , "peerDependencies": { "underscore": "1.3.1" }
+* , "dependencies": { "mkdirp": "0.3.5" }
+* }
+**/
+
+module.exports = "I\'m just a lonely index, naked as the day I was born."
diff --git a/deps/npm/test/tap/shrinkwrap-empty-deps.js b/deps/npm/test/tap/shrinkwrap-empty-deps.js
new file mode 100644
index 00000000000..9ec8e71e0ba
--- /dev/null
+++ b/deps/npm/test/tap/shrinkwrap-empty-deps.js
@@ -0,0 +1,47 @@
+var test = require("tap").test
+ , npm = require("../../")
+ , mr = require("npm-registry-mock")
+ , common = require("../common-tap.js")
+ , path = require("path")
+ , fs = require("fs")
+ , osenv = require("osenv")
+ , rimraf = require("rimraf")
+ , pkg = __dirname + "/shrinkwrap-empty-deps"
+
+test("returns a list of removed items", function (t) {
+ var desiredResultsPath = path.resolve(pkg, "npm-shrinkwrap.json")
+
+ cleanup()
+
+ mr(common.port, function (s) {
+ setup(function () {
+ npm.shrinkwrap([], function (err) {
+ if (err) return t.fail(err)
+ fs.readFile(desiredResultsPath, function (err, desired) {
+ if (err) return t.fail(err)
+ t.deepEqual({
+ "name": "npm-test-shrinkwrap-empty-deps",
+ "version": "0.0.0",
+ "dependencies": {}
+ }, JSON.parse(desired))
+ cleanup()
+ s.close()
+ t.end()
+ })
+ })
+ })
+ })
+})
+
+function setup (cb) {
+ cleanup()
+ process.chdir(pkg)
+ npm.load({cache: pkg + "/cache", registry: common.registry}, function () {
+ cb()
+ })
+}
+
+function cleanup () {
+ process.chdir(osenv.tmpdir())
+ rimraf.sync(path.resolve(pkg, "npm-shrinkwrap.json"))
+}
diff --git a/deps/npm/test/tap/shrinkwrap-empty-deps/package.json b/deps/npm/test/tap/shrinkwrap-empty-deps/package.json
new file mode 100644
index 00000000000..9a51088c7ee
--- /dev/null
+++ b/deps/npm/test/tap/shrinkwrap-empty-deps/package.json
@@ -0,0 +1,7 @@
+{
+ "author": "Rockbert",
+ "name": "npm-test-shrinkwrap-empty-deps",
+ "version": "0.0.0",
+ "dependencies": {},
+ "devDependencies": {}
+}
diff --git a/deps/npm/test/tap/sorted-package-json.js b/deps/npm/test/tap/sorted-package-json.js
index 0d978997f69..41c90855a87 100644
--- a/deps/npm/test/tap/sorted-package-json.js
+++ b/deps/npm/test/tap/sorted-package-json.js
@@ -24,7 +24,7 @@ test("sorting dependencies", function (t) {
var before = JSON.parse(fs.readFileSync(packageJson).toString())
- mr({port: common.port}, function (s) {
+ mr(common.port, function (s) {
// underscore is already in the package.json,
// but --save will trigger a rewrite with sort
var child = spawn(node, [npm, "install", "--save", "underscore@1.3.3"], {
diff --git a/deps/npm/test/tap/startstop.js b/deps/npm/test/tap/startstop.js
index d5a0026cee4..4ac8fd0000b 100644
--- a/deps/npm/test/tap/startstop.js
+++ b/deps/npm/test/tap/startstop.js
@@ -9,41 +9,19 @@ var common = require('../common-tap')
, tmp = pkg + '/tmp'
, node = process.execPath
, npm = path.resolve(__dirname, '../../cli.js')
+ , opts = { cwd: pkg }
-function run (command, t, parse) {
- var c = ''
- , e = ''
- , node = process.execPath
- , child = spawn(node, [npm, command], {
- cwd: pkg
- })
-
- child.stderr.on('data', function (chunk) {
- e += chunk
- })
+function testOutput (t, command, er, code, stdout, stderr) {
+ if (er)
+ throw er
- child.stdout.on('data', function (chunk) {
- c += chunk
- })
-
- child.stdout.on('end', function () {
- if (e) {
- throw new Error('npm ' + command + ' stderr: ' + e.toString())
- }
- if (parse) {
- // custom parsing function
- c = parse(c)
- t.equal(c.actual, c.expected)
- t.end()
- return
- }
-
- c = c.trim().split('\n')
- c = c[c.length - 1]
- t.equal(c, command)
- t.end()
- })
+ if (stderr)
+ throw new Error('npm ' + command + ' stderr: ' + stderr.toString())
+ stdout = stdout.trim().split('\n')
+ stdout = stdout[stdout.length - 1]
+ t.equal(stdout, command)
+ t.end()
}
function cleanup () {
@@ -56,23 +34,27 @@ test('setup', function (t) {
mkdirp.sync(pkg + '/cache')
mkdirp.sync(pkg + '/tmp')
t.end()
-
})
test('npm start', function (t) {
- run('start', t)
+ common.npm(['start'], opts, testOutput.bind(null, t, "start"))
})
test('npm stop', function (t) {
- run('stop', t)
+ common.npm(['stop'], opts, testOutput.bind(null, t, "stop"))
})
test('npm restart', function (t) {
- run ('restart', t, function (output) {
- output = output.split('\n').filter(function (val) {
+ common.npm(['restart'], opts, function (er, c, stdout, stderr) {
+ if (er)
+ throw er
+
+ var output = stdout.split('\n').filter(function (val) {
return val.match(/^s/)
})
- return {actual: output, expected: output}
+
+ t.same(output.sort(), ['start', 'stop'].sort())
+ t.end()
})
})
diff --git a/deps/npm/wercker.yml b/deps/npm/wercker.yml
new file mode 100644
index 00000000000..f944a955217
--- /dev/null
+++ b/deps/npm/wercker.yml
@@ -0,0 +1,22 @@
+box: wercker/nodejs
+# Build definition
+build:
+ # The steps that will be executed on build
+ steps:
+ # A step that executes `npm install` command
+ - npm-install
+ # A step that executes `npm test` command
+ - npm-test
+
+ # A custom script step, name value is used in the UI
+ # and the code value contains the command that get executed
+ - script:
+ name: echo nodejs information
+ code: |
+ echo "node version $(node -v) running"
+ echo "npm version $(npm -v) running"
+ after-steps:
+ - sherzberg/slack-notify:
+ subdomain: npm-inc
+ token: $SLACK_TOKEN
+ channel: github-commits
diff --git a/doc/api/events.markdown b/doc/api/events.markdown
index 0c1f544e0d5..1625f748a17 100644
--- a/doc/api/events.markdown
+++ b/doc/api/events.markdown
@@ -69,7 +69,9 @@ Returns emitter, so calls can be chained.
### emitter.removeAllListeners([event])
-Removes all listeners, or those of the specified event.
+Removes all listeners, or those of the specified event. It's not a good idea to
+remove listeners that were added elsewhere in the code, especially when it's on
+an emitter that you didn't create (e.g. sockets or file streams).
Returns emitter, so calls can be chained.
diff --git a/doc/api/http.markdown b/doc/api/http.markdown
index 75ca19e8ec7..932b80e4bed 100644
--- a/doc/api/http.markdown
+++ b/doc/api/http.markdown
@@ -1046,8 +1046,8 @@ authentication details.
[Agent]: #http_class_http_agent
[Buffer]: buffer.html#buffer_buffer
[EventEmitter]: events.html#events_class_events_eventemitter
-[Readable Stream]: stream.html#stream_readable_stream
-[Writable Stream]: stream.html#stream_writable_stream
+[Readable Stream]: stream.html#stream_class_stream_readable
+[Writable Stream]: stream.html#stream_class_stream_writable
[global Agent]: #http_http_globalagent
[http.ClientRequest]: #http_class_http_clientrequest
[http.IncomingMessage]: #http_http_incomingmessage
diff --git a/doc/api/net.markdown b/doc/api/net.markdown
index 3aad0940f49..957b7085e52 100644
--- a/doc/api/net.markdown
+++ b/doc/api/net.markdown
@@ -259,8 +259,6 @@ This becomes `null` when sending a socket to a child with
`child_process.fork()`. To poll forks and get current number of active
connections use asynchronous `server.getConnections` instead.
-`net.Server` is an [EventEmitter][] with the following events:
-
### server.getConnections(callback)
Asynchronously get the number of concurrent connections on the server. Works
@@ -268,6 +266,8 @@ when sockets were sent to forks.
Callback should take two arguments `err` and `count`.
+`net.Server` is an [EventEmitter][] with the following events:
+
### Event: 'listening'
Emitted when the server has been bound after calling `server.listen`.
@@ -559,5 +559,6 @@ Returns true if input is a version 6 IP address, otherwise returns false.
['end']: #net_event_end
[EventEmitter]: events.html#events_class_events_eventemitter
['listening']: #net_event_listening
+[server.getConnections()]: #net_server_getconnections_callback
[Readable Stream]: stream.html#stream_readable_stream
[stream.setEncoding()]: stream.html#stream_stream_setencoding_encoding
diff --git a/lib/child_process.js b/lib/child_process.js
index c8e9e37605a..5dfa2de5e27 100644
--- a/lib/child_process.js
+++ b/lib/child_process.js
@@ -465,7 +465,8 @@ function setupChannel(target, channel) {
if (obj.simultaneousAccepts) {
net._setSimultaneousAccepts(handle);
}
- } else if (this._handleQueue) {
+ } else if (this._handleQueue &&
+ !(message && message.cmd === 'NODE_HANDLE_ACK')) {
// Queue request anyway to avoid out-of-order messages.
this._handleQueue.push({ message: message, handle: null });
return;
diff --git a/src/node.cc b/src/node.cc
index 51fd6a81888..be04da0b09e 100644
--- a/src/node.cc
+++ b/src/node.cc
@@ -1928,9 +1928,11 @@ static void Uptime(const FunctionCallbackInfo<Value>& args) {
Environment* env = Environment::GetCurrent(args.GetIsolate());
HandleScope scope(env->isolate());
double uptime;
- if (uv_uptime(&uptime))
- return;
- args.GetReturnValue().Set(uptime - prog_start_time);
+
+ uv_update_time(uv_default_loop());
+ uptime = uv_now(uv_default_loop()) - prog_start_time;
+
+ args.GetReturnValue().Set(Number::New(env->isolate(), uptime / 1000));
}
@@ -3347,7 +3349,7 @@ void Init(int* argc,
int* exec_argc,
const char*** exec_argv) {
// Initialize prog_start_time to get relative uptime.
- uv_uptime(&prog_start_time);
+ prog_start_time = uv_now(uv_default_loop());
// Make inherited handles noninheritable.
uv_disable_stdio_inheritance();
diff --git a/test/simple/test-cluster-send-deadlock.js b/test/simple/test-cluster-send-deadlock.js
new file mode 100644
index 00000000000..1b4a90dee00
--- /dev/null
+++ b/test/simple/test-cluster-send-deadlock.js
@@ -0,0 +1,65 @@
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+// Testing mutual send of handles: from master to worker, and from worker to
+// master.
+
+var common = require('../common');
+var assert = require('assert');
+var cluster = require('cluster');
+var net = require('net');
+
+if (cluster.isMaster) {
+ var worker = cluster.fork();
+ worker.on('exit', function(code, signal) {
+ assert.equal(code, 0, 'Worker exited with an error code');
+ assert(!signal, 'Worker exited by a signal');
+ server.close();
+ });
+
+ var server = net.createServer(function(socket) {
+ worker.send('handle', socket);
+ });
+
+ server.listen(common.PORT, function() {
+ worker.send('listen');
+ });
+} else {
+ process.on('message', function(msg, handle) {
+ if (msg === 'listen') {
+ var client1 = net.connect({ host: 'localhost', port: common.PORT });
+ var client2 = net.connect({ host: 'localhost', port: common.PORT });
+ var waiting = 2;
+ client1.on('close', onclose);
+ client2.on('close', onclose);
+ function onclose() {
+ if (--waiting === 0)
+ cluster.worker.disconnect();
+ }
+ setTimeout(function() {
+ client1.end();
+ client2.end();
+ }, 50);
+ } else {
+ process.send('reply', handle);
+ }
+ });
+}