deps: upgrade npm to 2.11.0
authorForrest L Norvell <forrest@npmjs.com>
Fri, 29 May 2015 02:27:26 +0000 (22:27 -0400)
committerForrest L Norvell <forrest@npmjs.com>
Sat, 30 May 2015 12:15:11 +0000 (08:15 -0400)
PR-URL: https://github.com/iojs/io.js/pull/1829
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
272 files changed:
deps/npm/.mailmap
deps/npm/AUTHORS
deps/npm/CHANGELOG.md
deps/npm/Makefile
deps/npm/README.md
deps/npm/bin/node-gyp-bin/node-gyp.cmd
deps/npm/doc/cli/npm-shrinkwrap.md
deps/npm/doc/cli/npm-version.md
deps/npm/doc/misc/npm-faq.md
deps/npm/doc/misc/npm-scripts.md
deps/npm/html/doc/README.html
deps/npm/html/doc/api/npm-bin.html
deps/npm/html/doc/api/npm-bugs.html
deps/npm/html/doc/api/npm-cache.html
deps/npm/html/doc/api/npm-commands.html
deps/npm/html/doc/api/npm-config.html
deps/npm/html/doc/api/npm-deprecate.html
deps/npm/html/doc/api/npm-docs.html
deps/npm/html/doc/api/npm-edit.html
deps/npm/html/doc/api/npm-explore.html
deps/npm/html/doc/api/npm-help-search.html
deps/npm/html/doc/api/npm-init.html
deps/npm/html/doc/api/npm-install.html
deps/npm/html/doc/api/npm-link.html
deps/npm/html/doc/api/npm-load.html
deps/npm/html/doc/api/npm-ls.html
deps/npm/html/doc/api/npm-outdated.html
deps/npm/html/doc/api/npm-owner.html
deps/npm/html/doc/api/npm-pack.html
deps/npm/html/doc/api/npm-prefix.html
deps/npm/html/doc/api/npm-prune.html
deps/npm/html/doc/api/npm-publish.html
deps/npm/html/doc/api/npm-rebuild.html
deps/npm/html/doc/api/npm-repo.html
deps/npm/html/doc/api/npm-restart.html
deps/npm/html/doc/api/npm-root.html
deps/npm/html/doc/api/npm-run-script.html
deps/npm/html/doc/api/npm-search.html
deps/npm/html/doc/api/npm-shrinkwrap.html
deps/npm/html/doc/api/npm-start.html
deps/npm/html/doc/api/npm-stop.html
deps/npm/html/doc/api/npm-submodule.html [new file with mode: 0644]
deps/npm/html/doc/api/npm-tag.html
deps/npm/html/doc/api/npm-test.html
deps/npm/html/doc/api/npm-uninstall.html
deps/npm/html/doc/api/npm-unpublish.html
deps/npm/html/doc/api/npm-update.html
deps/npm/html/doc/api/npm-version.html
deps/npm/html/doc/api/npm-view.html
deps/npm/html/doc/api/npm-whoami.html
deps/npm/html/doc/api/npm.html
deps/npm/html/doc/cli/npm-access.html
deps/npm/html/doc/cli/npm-adduser.html
deps/npm/html/doc/cli/npm-bin.html
deps/npm/html/doc/cli/npm-bugs.html
deps/npm/html/doc/cli/npm-build.html
deps/npm/html/doc/cli/npm-bundle.html
deps/npm/html/doc/cli/npm-cache.html
deps/npm/html/doc/cli/npm-completion.html
deps/npm/html/doc/cli/npm-config.html
deps/npm/html/doc/cli/npm-dedupe.html
deps/npm/html/doc/cli/npm-deprecate.html
deps/npm/html/doc/cli/npm-dist-tag.html
deps/npm/html/doc/cli/npm-docs.html
deps/npm/html/doc/cli/npm-edit.html
deps/npm/html/doc/cli/npm-explore.html
deps/npm/html/doc/cli/npm-help-search.html
deps/npm/html/doc/cli/npm-help.html
deps/npm/html/doc/cli/npm-init.html
deps/npm/html/doc/cli/npm-install.html
deps/npm/html/doc/cli/npm-link.html
deps/npm/html/doc/cli/npm-logout.html
deps/npm/html/doc/cli/npm-ls.html
deps/npm/html/doc/cli/npm-outdated.html
deps/npm/html/doc/cli/npm-owner.html
deps/npm/html/doc/cli/npm-pack.html
deps/npm/html/doc/cli/npm-prefix.html
deps/npm/html/doc/cli/npm-prune.html
deps/npm/html/doc/cli/npm-publish.html
deps/npm/html/doc/cli/npm-rebuild.html
deps/npm/html/doc/cli/npm-repo.html
deps/npm/html/doc/cli/npm-restart.html
deps/npm/html/doc/cli/npm-rm.html
deps/npm/html/doc/cli/npm-root.html
deps/npm/html/doc/cli/npm-run-script.html
deps/npm/html/doc/cli/npm-search.html
deps/npm/html/doc/cli/npm-shrinkwrap.html
deps/npm/html/doc/cli/npm-star.html
deps/npm/html/doc/cli/npm-stars.html
deps/npm/html/doc/cli/npm-start.html
deps/npm/html/doc/cli/npm-stop.html
deps/npm/html/doc/cli/npm-submodule.html [new file with mode: 0644]
deps/npm/html/doc/cli/npm-tag.html
deps/npm/html/doc/cli/npm-test.html
deps/npm/html/doc/cli/npm-uninstall.html
deps/npm/html/doc/cli/npm-unpublish.html
deps/npm/html/doc/cli/npm-update.html
deps/npm/html/doc/cli/npm-version.html
deps/npm/html/doc/cli/npm-view.html
deps/npm/html/doc/cli/npm-whoami.html
deps/npm/html/doc/cli/npm.html
deps/npm/html/doc/files/npm-folders.html
deps/npm/html/doc/files/npm-global.html
deps/npm/html/doc/files/npm-json.html
deps/npm/html/doc/files/npmrc.html
deps/npm/html/doc/files/package.json.html
deps/npm/html/doc/index.html
deps/npm/html/doc/misc/npm-coding-style.html
deps/npm/html/doc/misc/npm-config.html
deps/npm/html/doc/misc/npm-developers.html
deps/npm/html/doc/misc/npm-disputes.html
deps/npm/html/doc/misc/npm-faq.html
deps/npm/html/doc/misc/npm-index.html
deps/npm/html/doc/misc/npm-registry.html
deps/npm/html/doc/misc/npm-scope.html
deps/npm/html/doc/misc/npm-scripts.html
deps/npm/html/doc/misc/removing-npm.html
deps/npm/html/doc/misc/semver.html
deps/npm/html/partial/doc/README.html
deps/npm/html/partial/doc/api/npm-submodule.html [new file with mode: 0644]
deps/npm/html/partial/doc/api/npm.html
deps/npm/html/partial/doc/cli/npm-ls.html
deps/npm/html/partial/doc/cli/npm-shrinkwrap.html
deps/npm/html/partial/doc/cli/npm-submodule.html [new file with mode: 0644]
deps/npm/html/partial/doc/cli/npm-version.html
deps/npm/html/partial/doc/cli/npm.html
deps/npm/html/partial/doc/misc/npm-disputes.html
deps/npm/html/partial/doc/misc/npm-faq.html
deps/npm/html/partial/doc/misc/npm-scripts.html
deps/npm/lib/utils/error-handler.js
deps/npm/lib/version.js
deps/npm/man/man1/npm-README.1
deps/npm/man/man1/npm-ls.1
deps/npm/man/man1/npm-shrinkwrap.1
deps/npm/man/man1/npm-submodule.1 [new file with mode: 0644]
deps/npm/man/man1/npm-version.1
deps/npm/man/man1/npm.1
deps/npm/man/man3/npm-submodule.3 [new file with mode: 0644]
deps/npm/man/man3/npm.3
deps/npm/man/man7/npm-faq.7
deps/npm/man/man7/npm-scripts.7
deps/npm/node_modules/abbrev/LICENSE
deps/npm/node_modules/abbrev/package.json
deps/npm/node_modules/async-some/LICENSE [new file with mode: 0644]
deps/npm/node_modules/async-some/package.json
deps/npm/node_modules/block-stream/LICENSE [new file with mode: 0644]
deps/npm/node_modules/block-stream/package.json
deps/npm/node_modules/chmodr/LICENSE
deps/npm/node_modules/chmodr/package.json
deps/npm/node_modules/chownr/LICENSE [new file with mode: 0644]
deps/npm/node_modules/chownr/package.json
deps/npm/node_modules/chownr/test/basic.js [new file with mode: 0644]
deps/npm/node_modules/chownr/test/sync.js [new file with mode: 0644]
deps/npm/node_modules/dezalgo/LICENSE [new file with mode: 0644]
deps/npm/node_modules/dezalgo/node_modules/asap/package.json
deps/npm/node_modules/dezalgo/package.json
deps/npm/node_modules/fs-vacuum/LICENSE [new file with mode: 0644]
deps/npm/node_modules/fs-vacuum/package.json
deps/npm/node_modules/fs-write-stream-atomic/index.js
deps/npm/node_modules/fs-write-stream-atomic/package.json
deps/npm/node_modules/fs-write-stream-atomic/test/toolong.js [new file with mode: 0644]
deps/npm/node_modules/glob/common.js
deps/npm/node_modules/glob/glob.js
deps/npm/node_modules/glob/package.json
deps/npm/node_modules/glob/sync.js
deps/npm/node_modules/graceful-fs/LICENSE
deps/npm/node_modules/graceful-fs/package.json
deps/npm/node_modules/hosted-git-info/LICENSE [new file with mode: 0644]
deps/npm/node_modules/hosted-git-info/README.md
deps/npm/node_modules/hosted-git-info/git-host-info.js
deps/npm/node_modules/hosted-git-info/git-host.js
deps/npm/node_modules/hosted-git-info/index.js
deps/npm/node_modules/hosted-git-info/package.json
deps/npm/node_modules/init-package-json/default-input.js
deps/npm/node_modules/init-package-json/node_modules/promzard/package.json
deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-license/node_modules/spdx-correct/package.json
deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-license/package.json
deps/npm/node_modules/init-package-json/package.json
deps/npm/node_modules/lockfile/LICENSE
deps/npm/node_modules/lockfile/README.md
deps/npm/node_modules/lockfile/package.json
deps/npm/node_modules/lru-cache/LICENSE
deps/npm/node_modules/lru-cache/package.json
deps/npm/node_modules/minimatch/LICENSE
deps/npm/node_modules/minimatch/package.json
deps/npm/node_modules/node-gyp/addon.gypi
deps/npm/node_modules/node-gyp/lib/build.js
deps/npm/node_modules/node-gyp/lib/install.js
deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/.jshintrc [new file with mode: 0644]
deps/npm/node_modules/node-gyp/src/win_delay_load_hook.c [deleted file]
deps/npm/node_modules/nopt/LICENSE
deps/npm/node_modules/nopt/package.json
deps/npm/node_modules/normalize-git-url/.eslintrc [new file with mode: 0644]
deps/npm/node_modules/normalize-git-url/LICENSE [new file with mode: 0644]
deps/npm/node_modules/normalize-git-url/package.json
deps/npm/node_modules/normalize-package-data/lib/fixer.js
deps/npm/node_modules/normalize-package-data/lib/normalize.js
deps/npm/node_modules/normalize-package-data/package.json
deps/npm/node_modules/normalize-package-data/test/mixedcase-names.js [new file with mode: 0644]
deps/npm/node_modules/npm-package-arg/package.json
deps/npm/node_modules/npm-package-arg/test/basic.js
deps/npm/node_modules/npm-package-arg/test/bitbucket.js
deps/npm/node_modules/npm-package-arg/test/github.js
deps/npm/node_modules/npm-package-arg/test/gitlab.js
deps/npm/node_modules/npm-registry-client/lib/publish.js
deps/npm/node_modules/npm-registry-client/lib/star.js
deps/npm/node_modules/npm-registry-client/node_modules/concat-stream/node_modules/readable-stream/node_modules/string_decoder/package.json
deps/npm/node_modules/npm-registry-client/package.json
deps/npm/node_modules/npm-registry-client/test/publish-mixcase-name.js [new file with mode: 0644]
deps/npm/node_modules/npm-registry-client/test/publish-new-mixcase-name.js [new file with mode: 0644]
deps/npm/node_modules/npm-registry-client/test/request.js
deps/npm/node_modules/npm-user-validate/package.json
deps/npm/node_modules/npmlog/LICENSE
deps/npm/node_modules/npmlog/log.js
deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/package.json
deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/core-util-is/package.json
deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/isarray/package.json
deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/string_decoder/package.json
deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/readable-stream/package.json
deps/npm/node_modules/npmlog/node_modules/are-we-there-yet/package.json
deps/npm/node_modules/npmlog/node_modules/gauge/README.md~ [deleted file]
deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/README.md~ [deleted file]
deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/package.json
deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._basetostring/package.json
deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/node_modules/lodash.repeat/package.json
deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash._createpadding/package.json
deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/package.json
deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/README.md
deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/index.js
deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padleft/package.json
deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/README.md
deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/index.js
deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padright/package.json
deps/npm/node_modules/npmlog/node_modules/gauge/package.json
deps/npm/node_modules/npmlog/package.json
deps/npm/node_modules/osenv/.npmignore [new file with mode: 0644]
deps/npm/node_modules/osenv/LICENSE
deps/npm/node_modules/osenv/package.json
deps/npm/node_modules/read/LICENSE [new file with mode: 0644]
deps/npm/node_modules/read/node_modules/mute-stream/LICENSE
deps/npm/node_modules/read/node_modules/mute-stream/package.json
deps/npm/node_modules/read/package.json
deps/npm/node_modules/realize-package-specifier/LICENSE [new file with mode: 0644]
deps/npm/node_modules/realize-package-specifier/package.json
deps/npm/node_modules/request/.eslintrc [new file with mode: 0644]
deps/npm/node_modules/request/node_modules/bl/.jshintrc [new file with mode: 0644]
deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/.jshintrc [new file with mode: 0644]
deps/npm/node_modules/request/node_modules/isstream/.jshintrc [new file with mode: 0644]
deps/npm/node_modules/request/node_modules/qs/.jshintrc [new file with mode: 0644]
deps/npm/node_modules/request/node_modules/tunnel-agent/.jshintrc [new file with mode: 0644]
deps/npm/node_modules/rimraf/LICENSE
deps/npm/node_modules/rimraf/package.json
deps/npm/node_modules/rimraf/rimraf.js
deps/npm/node_modules/validate-npm-package-name/.npmignore [moved from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/.npmignore with 100% similarity]
deps/npm/node_modules/validate-npm-package-name/README.md [moved from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/README.md with 100% similarity]
deps/npm/node_modules/validate-npm-package-name/index.js [moved from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/index.js with 100% similarity]
deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/.travis.yml [moved from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/node_modules/builtins/.travis.yml with 100% similarity]
deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/History.md [moved from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/node_modules/builtins/History.md with 78% similarity]
deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/Readme.md [moved from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/node_modules/builtins/Readme.md with 100% similarity]
deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/builtins.json [moved from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/node_modules/builtins/builtins.json with 100% similarity]
deps/npm/node_modules/validate-npm-package-name/node_modules/builtins/package.json [moved from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/node_modules/builtins/package.json with 100% similarity]
deps/npm/node_modules/validate-npm-package-name/package.json [moved from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/package.json with 96% similarity]
deps/npm/node_modules/validate-npm-package-name/test/index.js [moved from deps/npm/node_modules/init-package-json/node_modules/validate-npm-package-name/test/index.js with 100% similarity]
deps/npm/node_modules/write-file-atomic/LICENSE [new file with mode: 0644]
deps/npm/node_modules/write-file-atomic/package.json
deps/npm/package.json
deps/npm/scripts/update-authors.sh
deps/npm/test/fixtures/config/userconfig-with-gc
deps/npm/test/tap/ignore-scripts.js
deps/npm/test/tap/scripts-whitespace-windows.js
deps/npm/test/tap/version-no-git.js
deps/npm/test/tap/view.js

index c9117dd..cbcb3ba 100644 (file)
@@ -33,6 +33,7 @@ Nicolas Morel <marsup@gmail.com>
 Olivier Melcher <olivier.melcher@gmail.com>
 Ra'Shaun Stovall <rashaunstovall@gmail.com>
 Rebecca Turner <me@re-becca.org> <turner@mikomi.org>
+Rebecca Turner <me@re-becca.org> <rebecca@npmjs.com>
 Ryan Emery <seebees@gmail.com>
 Sam Mikes <smikes@cubane.com>
 Takaya Kobayashi <jigsaw@live.jp>
index a56ba09..065b4da 100644 (file)
@@ -279,3 +279,12 @@ Antti Mattila <anttti@fastmail.fm>
 laiso <laiso@lai.so>
 Matt Zorn <zornme@gmail.com>
 Kyle Mitchell <kyle@kemitchell.com>
+Michael Hayes <mhayes@newrelic.com>
+Benjamin Coe <ben@npmjs.com>
+Jeremiah Senkpiel <fishrock123@rocketmail.com>
+Michael Klein <mischkl@users.noreply.github.com>
+Simen Bekkhus <sbekkhus91@gmail.com>
+Victor <victor.shih@gmail.com>
+thefourtheye <thechargingvolcano@gmail.com>
+Clay Carpenter <claycarpenter@gmail.com>
+bangbang93 <bangbang93@163.com>
index 5653625..1ba4229 100644 (file)
@@ -1,3 +1,135 @@
+### v2.11.0 (2015-05-21):
+
+For the first time in a very long time, we've added new events to the life
+cycle used by `npm run-script`. Since running `npm version (major|minor|patch)`
+is typically the last thing many developers do before publishing their updated
+packages, it makes sense to add life cycle hooks to run tests or otherwise
+preflight the package before doing a full publish. Thanks, as always, to the
+indefatigable [@watilde](https://github.com/watilde) for yet another great
+usability improvement for npm!
+
+#### FEATURELETS
+
+* [`b07f7c7`](https://github.com/npm/npm/commit/b07f7c7c1e5021730b3c320f1b3a46e70f8a21ff)
+  [#7906](https://github.com/npm/npm/issues/7906)
+  Add new [`scripts`](https://github.com/npm/npm/blob/master/doc/misc/npm-scripts.md) to
+  allow you to run scripts before and after
+  the [`npm version`](https://github.com/npm/npm/blob/master/doc/cli/npm-version.md)
+  command has run. This makes it easy to, for instance, require that your
+  test suite passes before bumping the version by just adding `"preversion":
+  "npm test"` to the scripts section of your `package.json`.
+  ([@watilde](https://github.com/watilde))
+* [`8a46136`](https://github.com/npm/npm/commit/8a46136f42e416cbadb533bcf89d73d681ed421d)
+  [#8185](https://github.com/npm/npm/issues/8185)
+  When we get a "not found" error from the registry, we'll now check to see
+  if the package name you specified is invalid and if so, give you a better
+  error message. ([@thefourtheye](https://github.com/thefourtheye))
+
+#### BUG FIXES
+
+* [`9bcf573`](https://github.com/npm/npm/commit/9bcf5730bd0316f210dafea898afe9103849cea9)
+  [#8324](https://github.com/npm/npm/pull/8324) On Windows, when you've configured a
+  custom `node-gyp`, run it with node itself instead of using the default open action (which
+  is almost never what you want). ([@bangbang93](https://github.com/bangbang93))
+* [`1da9b04`](https://github.com/npm/npm/commit/1da9b0411d3416c7fca17d08cbbcfca7ae86e92d)
+  [#7195](https://github.com/npm/npm/issues/7195)
+  [#7260](https://github.com/npm/npm/issues/7260) `npm-registry-client@6.4.0`:
+  (Re-)allow publication of existing mixed-case packages (part 1).
+  ([@smikes](https://github.com/smikes))
+* [`e926783`](https://github.com/npm/npm/commit/e9267830ab261c751f12723e84d2458ae9238646)
+  [#7195](https://github.com/npm/npm/issues/7195)
+  [#7260](https://github.com/npm/npm/issues/7260)
+  `normalize-package-data@2.2.0`: (Re-)allow publication of existing mixed-case
+  packages (part 2). ([@smikes](https://github.com/smikes))
+
+#### DOCUMENTATION IMPROVEMENTS
+
+* [`f62ee05`](https://github.com/npm/npm/commit/f62ee05333b141539a8e851c620dd2e82ff06860)
+  [#8314](https://github.com/npm/npm/issues/8314) Update the README to warn
+  folks away from using the CLI's internal API. For the love of glob, just use a
+  child process to run the CLI! ([@claycarpenter](https://github.com/claycarpenter))
+* [`1093921`](https://github.com/npm/npm/commit/1093921c04db41ab46db24a170a634a4b2acd8d9)
+  [#8279](https://github.com/npm/npm/pull/8279)
+  Update the documentation to note that, yes, you can publish scoped packages to the
+  public registry now! ([@mantoni](https://github.com/mantoni))
+* [`f87cde5`](https://github.com/npm/npm/commit/f87cde5234a760d3e515ffdaacaed6f5b71dbf44)
+  [#8292](https://github.com/npm/npm/pull/8292)
+  Fix typo in an example and grammar in the description in
+  the [shrinkwrap documentation](https://github.com/npm/npm/blob/master/doc/cli/npm-shrinkwrap.md).
+  ([@vshih](https://github.com/vshih))
+* [`d3526ce`](https://github.com/npm/npm/commit/d3526ceb09a0c29fdb7d4124536ae09057d033e7)
+  Improve the formatting in
+  the [shrinkwrap documentation](https://github.com/npm/npm/blob/master/doc/cli/npm-shrinkwrap.md).
+  ([@othiym23](https://github.com/othiym23))
+* [`19fe6d2`](https://github.com/npm/npm/commit/19fe6d20883e28956ff916fe4dae42d73ee6195b)
+  [#8311](https://github.com/npm/npm/pull/8311)
+  Update [README.md](https://github.com/npm/npm#readme) to use syntax highlighting in
+  its code samples and bits of shell scripts. ([@SimenB](https://github.com/SimenB))
+
+#### DEPENDENCY UPDATES! ALWAYS AND FOREVER!
+
+* [`fc52160`](https://github.com/npm/npm/commit/fc52160d0223226fffe4166f42fdfd3b899b3c1e)
+  [#4700](https://github.com/npm/npm/issues/4700) [#5044](https://github.com/npm/npm/issues/5044)
+  `init-package-json@1.6.0`: Make entering an invalid version while running `npm init` give
+  you an immediate error and prompt you to correct it. ([@watilde](https://github.com/watilde))
+* [`738853e`](https://github.com/npm/npm/commit/738853eb1f55636476a2a410c2c04732eec9d51e)
+  [#7763](https://github.com/npm/npm/issues/7763) `fs-write-stream-atomic@1.0.3`: Fix a bug
+  where errors would not propagate, making error messages unhelpful.
+  ([@iarna](https://github.com/iarna))
+* [`6d74a2d`](https://github.com/npm/npm/commit/6d74a2d2ac7f92750cf6a2cfafae1af23b569098)
+  `npm-package-arg@4.0.1`: Fix tests on windows ([@Bacra](https://github.com)) and with
+  more recent `hosted-git-info`. ([@iarna](https://github.com/iarna))
+* [`50f7178`](https://github.com/npm/npm/commit/50f717852fbf713ef6cbc4e0a9ab42657decbbbd)
+  `hosted-git-info@2.1.4`: Correct spelling in its documentation.
+  ([@iarna](https://github.com/iarna))
+* [`d7956ca`](https://github.com/npm/npm/commit/d7956ca17c057d5383ff0d3fc5cf6ac2940b034d)
+  `glob@5.0.7`: Fix a bug where unusual error conditions could make
+  further use of the module fail. ([@isaacs](https://github.com/isaacs))
+* [`44f7d74`](https://github.com/npm/npm/commit/44f7d74c5d3181d37da7ea7949c86b344153f8d9)
+  `tap@1.1.0`: Update to the most recent tap to get a whole host of bug
+  fixes and integration with [coveralls](https://coveralls.io/).
+  ([@isaacs](https://github.com/isaacs))
+* [`c21e8a8`](https://github.com/npm/npm/commit/c21e8a8d94bcf0ad79dc583ddc53f8366d4813b3)
+  `nock@2.2.0` ([@othiym23](https://github.com/othiym23))
+
+#### LICENSE FILES FOR THE LICENSE GOD
+
+* Add missing ISC license file to package ([@kasicka](https://github.com/kasicka)):
+    * [`aa9908c`](https://github.com/npm/npm/commit/aa9908c20017729673b9d410b77f9a16b7aae8a4) `realize-package-specifier@3.0.1`
+    * [`23a3b1a`](https://github.com/npm/npm/commit/23a3b1a726b9176c70ce0ccf3cd9d25c54429bdf) `fs-vacuum@1.2.6`
+    * [`8e04bba`](https://github.com/npm/npm/commit/8e04bba830d4353d84751d21803cd127c96153a7) `dezalgo@1.0.2`
+    * [`50f7178`](https://github.com/npm/npm/commit/50f717852fbf713ef6cbc4e0a9ab42657decbbbd) `hosted-git-info@2.1.4`
+    * [`6a54917`](https://github.com/npm/npm/commit/6a54917fbd4df995495a95d4b548defd44b77c93) `write-file-atomic@1.1.2`
+    * [`971f92c`](https://github.com/npm/npm/commit/971f92c4a4e5514217d1e4db45d1ccf71a60ff19) `async-some@1.0.2`
+    * [`67b50b7`](https://github.com/npm/npm/commit/67b50b7667a42bb3340a660eb2e617e1a554d2d4) `normalize-git-url@1.0.1`
+
+#### SPDX LICENSE UPDATES
+
+* Switch license to
+  [BSD-2-Clause](http://spdx.org/licenses/BSD-2-Clause.html#licenseText) from
+  plain "BSD" ([@isaacs](https://github.com/isaacs)):
+    * [`efdb733`](https://github.com/npm/npm/commit/efdb73332eeedcad4c609796929070b62abb37ab) `npm-user-validate@0.1.2`
+    * [`e926783`](https://github.com/npm/npm/commit/e9267830ab261c751f12723e84d2458ae9238646) `normalize-package-data@2.2.0`
+* Switch license to [ISC](http://spdx.org/licenses/ISC.html#licenseText) from
+  [BSD](http://spdx.org/licenses/BSD-2-Clause.html#licenseText)
+  ([@isaacs](https://github.com/isaacs)):
+    * [`c300956`](https://github.com/npm/npm/commit/c3009565a964f0ead4ac4ab234b1a458e2365f17) `block-stream@0.0.8`
+    * [`1de1253`](https://github.com/npm/npm/commit/1de125355765fecd31e682ed0ff9d2edbeac0bb0) `lockfile@1.0.1`
+    * [`0d5698a`](https://github.com/npm/npm/commit/0d5698ab132e376c7aec93ae357c274932116220) `osenv@0.1.1`
+    * [`2e84921`](https://github.com/npm/npm/commit/2e84921474e1ffb18de9fce4616e73171fa8046d) `abbrev@1.0.6`
+    * [`872fac9`](https://github.com/npm/npm/commit/872fac9d10c11607e4d0348c08a683b84e64d30b) `chmodr@0.1.1`
+    * [`01eb7f6`](https://github.com/npm/npm/commit/01eb7f60acba584346ad8aae846657899f3b6887) `chownr@0.0.2`
+    * [`294336f`](https://github.com/npm/npm/commit/294336f0f31c7b9fe31a50075ed750db6db134d1) `read@1.0.6`
+    * [`ebdf6a1`](https://github.com/npm/npm/commit/ebdf6a14d17962cdb7128402c53b452f91d44ca7) `graceful-fs@3.0.7`
+* Switch license to [ISC](http://spdx.org/licenses/ISC.html#licenseText) from
+  [MIT](http://spdx.org/licenses/MIT.html#licenseText)
+  ([@isaacs](https://github.com/isaacs)):
+    * [`e5d237f`](https://github.com/npm/npm/commit/e5d237fc0f436dd2a89437ebf8a9632a2e35ccbe) `nopt@3.0.2`
+    * [`79fef14`](https://github.com/npm/npm/commit/79fef1421b78f044980f0d1bf0e97039b6992710) `rimraf@2.3.4`
+    * [`22527da`](https://github.com/npm/npm/commit/22527da4816e7c2746cdc0317c5fb4a85152d554) `minimatch@2.0.8`
+    * [`882ac87`](https://github.com/npm/npm/commit/882ac87a6c4123ca985d7ad4394ea5085e5b0ef5) `lru-cache@2.6.4`
+    * [`9d9d015`](https://github.com/npm/npm/commit/9d9d015a2e972f68664dda54fbb204db28b21ede) `npmlog@1.2.1`
+
 ### v2.10.1 (2015-05-14):
 
 #### BUG FIXES & DOCUMENTATION TWEAKS
index 365d80d..d935edf 100644 (file)
@@ -230,12 +230,7 @@ test: doc
 tag:
        npm tag npm@$(PUBLISHTAG) latest
 
-authors:
-       @bash scripts/update-authors.sh &&\
-       git add AUTHORS &&\
-       git commit -m "update AUTHORS" || true
-
-publish: authors link doc
+publish: link doc
        @git push origin :v$(shell npm -v) 2>&1 || true
        git clean -fd &&\
        git push origin $(BRANCH) &&\
@@ -248,4 +243,4 @@ release:
 sandwich:
        @[ $$(whoami) = "root" ] && (echo "ok"; echo "ham" > sandwich) || (echo "make it yourself" && exit 13)
 
-.PHONY: all latest install dev link doc clean uninstall test man doc-clean docclean release authors
+.PHONY: all latest install dev link doc clean uninstall test man doc-clean docclean release
index f696825..dcd06b5 100644 (file)
@@ -40,17 +40,23 @@ There's a pretty robust install script at
 
 Here's an example using curl:
 
-    curl -L https://www.npmjs.com/install.sh | sh
+```sh
+curl -L https://www.npmjs.com/install.sh | sh
+```
 
 ### Slightly Fancier
 
 You can set any npm configuration params with that script:
 
-    npm_config_prefix=/some/path sh install.sh
+```sh
+npm_config_prefix=/some/path sh install.sh
+```
 
 Or, you can run it in uber-debuggery mode:
 
-    npm_debug=1 sh install.sh
+```sh
+npm_debug=1 sh install.sh
+```
 
 ### Even Fancier
 
@@ -83,11 +89,14 @@ No.
 
 So sad to see you go.
 
-    sudo npm uninstall npm -g
-
+```sh
+sudo npm uninstall npm -g
+```
 Or, if that fails,
 
-    sudo make uninstall
+```sh
+sudo make uninstall
+```
 
 ## More Severe Uninstalling
 
@@ -101,13 +110,17 @@ remove them.
 To remove cruft left behind by npm 0.x, you can use the included
 `clean-old.sh` script file.  You can run it conveniently like this:
 
-    npm explore npm -g -- sh scripts/clean-old.sh
+```sh
+npm explore npm -g -- sh scripts/clean-old.sh
+```
 
 npm uses two configuration files, one for per-user configs, and another
 for global (every-user) configs.  You can view them by doing:
 
-    npm config get userconfig   # defaults to ~/.npmrc
-    npm config get globalconfig # defaults to /usr/local/etc/npmrc
+```sh
+npm config get userconfig   # defaults to ~/.npmrc
+npm config get globalconfig # defaults to /usr/local/etc/npmrc
+```
 
 Uninstalling npm does not remove configuration files by default.  You
 must remove them yourself manually if you want them gone.  Note that
@@ -116,26 +129,35 @@ you have chosen.
 
 ## Using npm Programmatically
 
-If you would like to use npm programmatically, you can do that.
-It's not very well documented, but it *is* rather simple.
-
-Most of the time, unless you actually want to do all the things that
-npm does, you should try using one of npm's dependencies rather than
-using npm itself, if possible.
-
-Eventually, npm will be just a thin cli wrapper around the modules
-that it depends on, but for now, there are some things that you must
-use npm itself to do.
-
-    var npm = require("npm")
-    npm.load(myConfigObject, function (er) {
-      if (er) return handlError(er)
-      npm.commands.install(["some", "args"], function (er, data) {
-        if (er) return commandFailed(er)
-        // command succeeded, and data might have some info
-      })
-      npm.registry.log.on("log", function (message) { .... })
-    })
+Although npm can be used programmatically, its API is meant for use by the CLI
+*only*, and no guarantees are made regarding its fitness for any other purpose.
+If you want to use npm to reliably perform some task, the safest thing to do is
+to invoke the desired `npm` command with appropriate arguments.
+
+The semantic version of npm refers to the CLI itself, rather than the
+underlying API. _The internal API is not guaranteed to remain stable even when
+npm's version indicates no breaking changes have been made according to
+semver._
+
+If you _still_ would like to use npm programmatically, it's _possible_. The API
+isn't very well documented, but it _is_ rather simple.
+
+Eventually, npm will be just a thin CLI wrapper around the modules that it
+depends on, but for now, there are some things that only the CLI can do. You
+should try using one of npm's dependencies first, and only use the API if what
+you're trying to do is only supported by npm itself.
+
+```javascript
+var npm = require("npm")
+npm.load(myConfigObject, function (er) {
+  if (er) return handlError(er)
+  npm.commands.install(["some", "args"], function (er, data) {
+    if (er) return commandFailed(er)
+    // command succeeded, and data might have some info
+  })
+  npm.registry.log.on("log", function (message) { .... })
+})
+```
 
 The `load` function takes an object hash of the command-line configs.
 The various `npm.commands.<cmd>` functions take an **array** of
index a05fd8c..83ea8f5 100755 (executable)
@@ -1,5 +1,5 @@
 if not defined npm_config_node_gyp (\r
   node "%~dp0\..\..\node_modules\node-gyp\bin\node-gyp.js" %*\r
 ) else (\r
-  %npm_config_node_gyp% %*\r
+  node %npm_config_node_gyp% %*
 )\r
index d781a68..ca9cb25 100644 (file)
@@ -13,14 +13,14 @@ used when your package is installed. The `package.json` file is still
 required if you want to use `npm install`.
 
 By default, `npm install` recursively installs the target's
-dependencies (as specified in package.json), choosing the latest
+dependencies (as specified in `package.json`), choosing the latest
 available version that satisfies the dependency's semver pattern. In
 some situations, particularly when shipping software where each change
 is tightly managed, it's desirable to fully specify each version of
 each dependency recursively so that subsequent builds and deploys do
 not inadvertently pick up newer versions of a dependency that satisfy
 the semver pattern. Specifying specific semver patterns in each
-dependency's package.json would facilitate this, but that's not always
+dependency's `package.json` would facilitate this, but that's not always
 possible or desirable, as when another author owns the npm package.
 It's also possible to check dependencies directly into source control,
 but that may be undesirable for other reasons.
@@ -48,7 +48,7 @@ package B:
 and package C:
 
     {
-      "name": "C,
+      "name": "C",
       "version": "0.0.1"
     }
 
@@ -78,7 +78,7 @@ In this case, A's author can run
 
     npm shrinkwrap
 
-This generates npm-shrinkwrap.json, which will look something like this:
+This generates `npm-shrinkwrap.json`, which will look something like this:
 
     {
       "name": "A",
@@ -97,12 +97,12 @@ This generates npm-shrinkwrap.json, which will look something like this:
 
 The shrinkwrap command has locked down the dependencies based on
 what's currently installed in node_modules.  When `npm install`
-installs a package with a npm-shrinkwrap.json file in the package
-root, the shrinkwrap file (rather than package.json files) completely
+installs a package with an `npm-shrinkwrap.json` in the package
+root, the shrinkwrap file (rather than `package.json` files) completely
 drives the installation of that package and all of its dependencies
 (recursively).  So now the author publishes A@0.1.0, and subsequent
 installs of this package will use B@0.0.1 and C@0.0.1, regardless the
-dependencies and versions listed in A's, B's, and C's package.json
+dependencies and versions listed in A's, B's, and C's `package.json`
 files.
 
 
@@ -110,7 +110,7 @@ files.
 
 Using a shrinkwrapped package is no different than using any other
 package: you can `npm install` it by hand, or add a dependency to your
-package.json file and `npm install` it.
+`package.json` file and `npm install` it.
 
 ### Building shrinkwrapped packages
 
@@ -119,7 +119,7 @@ To shrinkwrap an existing package:
 1. Run `npm install` in the package root to install the current
    versions of all dependencies.
 2. Validate that the package works as expected with these versions.
-3. Run `npm shrinkwrap`, add npm-shrinkwrap.json to git, and publish
+3. Run `npm shrinkwrap`, add `npm-shrinkwrap.json` to git, and publish
    your package.
 
 To add or update a dependency in a shrinkwrapped package:
@@ -127,13 +127,13 @@ To add or update a dependency in a shrinkwrapped package:
 1. Run `npm install` in the package root to install the current
    versions of all dependencies.
 2. Add or update dependencies. `npm install` each new or updated
-   package individually and then update package.json.  Note that they
+   package individually and then update `package.json`.  Note that they
    must be explicitly named in order to be installed: running `npm
    install` with no arguments will merely reproduce the existing
    shrinkwrap.
 3. Validate that the package works as expected with the new
    dependencies.
-4. Run `npm shrinkwrap`, commit the new npm-shrinkwrap.json, and
+4. Run `npm shrinkwrap`, commit the new `npm-shrinkwrap.json`, and
    publish your package.
 
 You can use npm-outdated(1) to view dependencies with newer versions
@@ -141,12 +141,12 @@ available.
 
 ### Other Notes
 
-A shrinkwrap file must be consistent with the package's package.json
+A shrinkwrap file must be consistent with the package's `package.json`
 file. `npm shrinkwrap` will fail if required dependencies are not
 already installed, since that would result in a shrinkwrap that
 wouldn't actually work. Similarly, the command will fail if there are
-extraneous packages (not referenced by package.json), since that would
-indicate that package.json is not correct.
+extraneous packages (not referenced by `package.json`), since that would
+indicate that `package.json` is not correct.
 
 Since `npm shrinkwrap` is intended to lock down your dependencies for
 production use, `devDependencies` will not be included unless you
index 545bce6..63a5e95 100644 (file)
@@ -40,6 +40,14 @@ in your git config for this to work properly.  For example:
 
     Enter passphrase:
 
+If "preversion", "version", "postversion" in the "scripts" property of
+the package.json, it will execute by running `npm version`. preversion
+and version ware executed before bump the package version, postversion
+was executed after bump the package version. For example to run `npm version`
+after passed all test:
+
+    "scripts": { "preversion": "npm test" }
+
 ## CONFIGURATION
 
 ### git-tag-version
@@ -52,6 +60,8 @@ Commit and tag the version change.
 ## SEE ALSO
 
 * npm-init(1)
+* npm-run-script(1)
+* npm-scripts(7)
 * package.json(5)
 * semver(7)
 * config(7)
index 176effc..b9e837f 100644 (file)
@@ -328,9 +328,9 @@ on Freenode IRC.
 ## Why no namespaces?
 
 npm has only one global namespace.  If you want to namespace your own packages,
-you may: simply use the `-` character to separate the names.  npm is a mostly
-anarchic system.  There is not sufficient need to impose namespace rules on
-everyone.
+you may: simply use the `-` character to separate the names or use scoped
+packages.  npm is a mostly anarchic system.  There is not sufficient need to
+impose namespace rules on everyone.
 
 As of 2.0, npm supports scoped packages, which allow you to publish a group of
 related modules without worrying about name collisions.
@@ -340,11 +340,11 @@ user named `npm` owns the scope `@npm`.  Scoped packages are published inside a
 scope by naming them as if they were files under the scope directory, e.g., by
 setting `name` in `package.json` to `@npm/npm`.
 
-Scoped packages can coexist with public npm packages in a private npm registry.
-At present (2014-11-04) scoped packages may NOT be published to the public npm
-registry.
+Scoped packages are supported by the public npm registry. The npm client is
+backwards-compatible with un-scoped registries, so it can be used to work with
+scoped and un-scoped registries at the same time.
 
-Unscoped packages can only depend on other unscoped packages.  Scoped packages
+Unscoped packages can only depend on other unscoped packages. Scoped packages
 can depend on packages from their own scope, a different scope, or the public
 registry (unscoped).
 
index e1380d1..1594d3c 100644 (file)
@@ -19,6 +19,10 @@ following scripts:
   Run BEFORE the package is uninstalled.
 * postuninstall:
   Run AFTER the package is uninstalled.
+* preversion, version:
+  Run BEFORE bump the package version.
+* postversion:
+  Run AFTER bump the package version.
 * pretest, test, posttest:
   Run by the `npm test` command.
 * prestop, stop, poststop:
index 86b948a..731432d 100644 (file)
@@ -32,13 +32,16 @@ paths, etc.) then read on.</p>
 <p>There&#39;s a pretty robust install script at
 <a href="https://www.npmjs.com/install.sh">https://www.npmjs.com/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://www.npmjs.com/install.sh | sh
-</code></pre><h3 id="slightly-fancier">Slightly Fancier</h3>
+<pre><code class="lang-sh">curl -L https://www.npmjs.com/install.sh | sh
+</code></pre>
+<h3 id="slightly-fancier">Slightly Fancier</h3>
 <p>You can set any npm configuration params with that script:</p>
-<pre><code>npm_config_prefix=/some/path sh install.sh
-</code></pre><p>Or, you can run it in uber-debuggery mode:</p>
-<pre><code>npm_debug=1 sh install.sh
-</code></pre><h3 id="even-fancier">Even Fancier</h3>
+<pre><code class="lang-sh">npm_config_prefix=/some/path sh install.sh
+</code></pre>
+<p>Or, you can run it in uber-debuggery mode:</p>
+<pre><code class="lang-sh">npm_debug=1 sh install.sh
+</code></pre>
+<h3 id="even-fancier">Even Fancier</h3>
 <p>Get the code with git.  Use <code>make</code> to build the docs and do other stuff.
 If you plan on hacking on npm, <code>make link</code> is your friend.</p>
 <p>If you&#39;ve got the npm source code, you can also semi-permanently set
@@ -57,10 +60,12 @@ git, and mess with it directly.</p>
 <p>No.</p>
 <h2 id="uninstalling">Uninstalling</h2>
 <p>So sad to see you go.</p>
-<pre><code>sudo npm uninstall npm -g
-</code></pre><p>Or, if that fails,</p>
-<pre><code>sudo make uninstall
-</code></pre><h2 id="more-severe-uninstalling">More Severe Uninstalling</h2>
+<pre><code class="lang-sh">sudo npm uninstall npm -g
+</code></pre>
+<p>Or, if that fails,</p>
+<pre><code class="lang-sh">sudo make uninstall
+</code></pre>
+<h2 id="more-severe-uninstalling">More Severe Uninstalling</h2>
 <p>Usually, the above instructions are sufficient.  That will remove
 npm, but leave behind anything you&#39;ve installed.</p>
 <p>If you would like to remove all the packages that you have installed,
@@ -68,25 +73,33 @@ then you can use the <code>npm ls</code> command to find them, and then <code>np
 remove them.</p>
 <p>To remove cruft left behind by npm 0.x, you can use the included
 <code>clean-old.sh</code> script file.  You can run it conveniently like this:</p>
-<pre><code>npm explore npm -g -- sh scripts/clean-old.sh
-</code></pre><p>npm uses two configuration files, one for per-user configs, and another
+<pre><code class="lang-sh">npm explore npm -g -- sh scripts/clean-old.sh
+</code></pre>
+<p>npm uses two configuration files, one for per-user configs, and another
 for global (every-user) configs.  You can view them by doing:</p>
-<pre><code>npm config get userconfig   # defaults to ~/.npmrc
+<pre><code class="lang-sh">npm config get userconfig   # defaults to ~/.npmrc
 npm config get globalconfig # defaults to /usr/local/etc/npmrc
-</code></pre><p>Uninstalling npm does not remove configuration files by default.  You
+</code></pre>
+<p>Uninstalling npm does not remove configuration files by default.  You
 must remove them yourself manually if you want them gone.  Note that
 this means that future npm installs will not remember the settings that
 you have chosen.</p>
 <h2 id="using-npm-programmatically">Using npm Programmatically</h2>
-<p>If you would like to use npm programmatically, you can do that.
-It&#39;s not very well documented, but it <em>is</em> rather simple.</p>
-<p>Most of the time, unless you actually want to do all the things that
-npm does, you should try using one of npm&#39;s dependencies rather than
-using npm itself, if possible.</p>
-<p>Eventually, npm will be just a thin cli wrapper around the modules
-that it depends on, but for now, there are some things that you must
-use npm itself to do.</p>
-<pre><code>var npm = require(&quot;npm&quot;)
+<p>Although npm can be used programmatically, its API is meant for use by the CLI
+<em>only</em>, and no guarantees are made regarding its fitness for any other purpose.
+If you want to use npm to reliably perform some task, the safest thing to do is
+to invoke the desired <code>npm</code> command with appropriate arguments.</p>
+<p>The semantic version of npm refers to the CLI itself, rather than the
+underlying API. <em>The internal API is not guaranteed to remain stable even when
+npm&#39;s version indicates no breaking changes have been made according to
+semver.</em></p>
+<p>If you <em>still</em> would like to use npm programmatically, it&#39;s <em>possible</em>. The API
+isn&#39;t very well documented, but it <em>is</em> rather simple.</p>
+<p>Eventually, npm will be just a thin CLI wrapper around the modules that it
+depends on, but for now, there are some things that only the CLI can do. You
+should try using one of npm&#39;s dependencies first, and only use the API if what
+you&#39;re trying to do is only supported by npm itself.</p>
+<pre><code class="lang-javascript">var npm = require(&quot;npm&quot;)
 npm.load(myConfigObject, function (er) {
   if (er) return handlError(er)
   npm.commands.install([&quot;some&quot;, &quot;args&quot;], function (er, data) {
@@ -95,7 +108,8 @@ npm.load(myConfigObject, function (er) {
   })
   npm.registry.log.on(&quot;log&quot;, function (message) { .... })
 })
-</code></pre><p>The <code>load</code> function takes an object hash of the command-line configs.
+</code></pre>
+<p>The <code>load</code> function takes an object hash of the command-line configs.
 The various <code>npm.commands.&lt;cmd&gt;</code> functions take an <strong>array</strong> of
 positional argument <strong>strings</strong>.  The last argument to any
 <code>npm.commands.&lt;cmd&gt;</code> function is a callback.  Some commands take other
@@ -126,7 +140,7 @@ specific purpose, or lack of malice in any given npm package.</p>
 <p>If you have a complaint about a package in the public npm registry,
 and cannot <a href="https://docs.npmjs.com/misc/disputes">resolve it with the package
 owner</a>, please email
-<a href="&#109;&#97;&#105;&#x6c;&#x74;&#x6f;&#x3a;&#x73;&#117;&#112;&#112;&#x6f;&#114;&#x74;&#64;&#110;&#112;&#109;&#x6a;&#x73;&#46;&#99;&#x6f;&#x6d;">&#x73;&#117;&#112;&#112;&#x6f;&#114;&#x74;&#64;&#110;&#112;&#109;&#x6a;&#x73;&#46;&#99;&#x6f;&#x6d;</a> and explain the situation.</p>
+<a href="&#109;&#x61;&#x69;&#108;&#116;&#x6f;&#58;&#x73;&#x75;&#x70;&#x70;&#x6f;&#114;&#116;&#64;&#110;&#x70;&#109;&#x6a;&#x73;&#x2e;&#x63;&#111;&#x6d;">&#x73;&#x75;&#x70;&#x70;&#x6f;&#114;&#116;&#64;&#110;&#x70;&#109;&#x6a;&#x73;&#x2e;&#x63;&#111;&#x6d;</a> and explain the situation.</p>
 <p>Any data published to The npm Registry (including user account
 information) may be removed or modified at the sole discretion of the
 npm server administrators.</p>
@@ -169,5 +183,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@2.10.1</p>
+<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@2.11.0</p>
 
index 1a025d4..9d23ea4 100644 (file)
@@ -28,5 +28,5 @@ to the <code>npm.bin</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-bin &mdash; npm@2.10.1</p>
+<p id="footer">npm-bin &mdash; npm@2.11.0</p>
 
index 227cf6c..a15b46c 100644 (file)
@@ -33,5 +33,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@2.10.1</p>
+<p id="footer">npm-bugs &mdash; npm@2.11.0</p>
 
index 0c304cc..54ba300 100644 (file)
@@ -42,5 +42,5 @@ incrementation.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@2.10.1</p>
+<p id="footer">npm-cache &mdash; npm@2.11.0</p>
 
index a9745c9..9ae84df 100644 (file)
@@ -36,5 +36,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@2.10.1</p>
+<p id="footer">npm-commands &mdash; npm@2.11.0</p>
 
index 13cbad9..8ff2bed 100644 (file)
@@ -57,5 +57,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@2.10.1</p>
+<p id="footer">npm-config &mdash; npm@2.11.0</p>
 
index fd37285..f837817 100644 (file)
@@ -47,5 +47,5 @@ a deprecation warning to all who attempt to install it.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@2.10.1</p>
+<p id="footer">npm-deprecate &mdash; npm@2.11.0</p>
 
index 9a7f28b..2edccfa 100644 (file)
@@ -33,5 +33,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@2.10.1</p>
+<p id="footer">npm-docs &mdash; npm@2.11.0</p>
 
index 9dd67f6..9c1664d 100644 (file)
@@ -36,5 +36,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@2.10.1</p>
+<p id="footer">npm-edit &mdash; npm@2.11.0</p>
 
index 0fd2598..8bf25f2 100644 (file)
@@ -31,5 +31,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@2.10.1</p>
+<p id="footer">npm-explore &mdash; npm@2.11.0</p>
 
index 3d420df..081cb44 100644 (file)
@@ -44,5 +44,5 @@ Name of the file that matched</li>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-help-search &mdash; npm@2.10.1</p>
+<p id="footer">npm-help-search &mdash; npm@2.11.0</p>
 
index 2d876d1..3fe180a 100644 (file)
@@ -39,5 +39,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@2.10.1</p>
+<p id="footer">npm-init &mdash; npm@2.11.0</p>
 
index b2e8011..0b78aa7 100644 (file)
@@ -32,5 +32,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@2.10.1</p>
+<p id="footer">npm-install &mdash; npm@2.11.0</p>
 
index 355f06b..7a2ed5f 100644 (file)
@@ -42,5 +42,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@2.10.1</p>
+<p id="footer">npm-link &mdash; npm@2.11.0</p>
 
index c830e87..111b5c2 100644 (file)
@@ -37,5 +37,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@2.10.1</p>
+<p id="footer">npm-load &mdash; npm@2.11.0</p>
 
index 069b357..b6b9d3d 100644 (file)
@@ -63,5 +63,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@2.10.1</p>
+<p id="footer">npm-ls &mdash; npm@2.11.0</p>
 
index 61bf763..28fe25f 100644 (file)
@@ -28,5 +28,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@2.10.1</p>
+<p id="footer">npm-outdated &mdash; npm@2.11.0</p>
 
index a62c188..d07ed48 100644 (file)
@@ -47,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@2.10.1</p>
+<p id="footer">npm-owner &mdash; npm@2.11.0</p>
 
index 2383065..f1f6d0b 100644 (file)
@@ -33,5 +33,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@2.10.1</p>
+<p id="footer">npm-pack &mdash; npm@2.11.0</p>
 
index 01cc635..b2f2ce8 100644 (file)
@@ -29,5 +29,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@2.10.1</p>
+<p id="footer">npm-prefix &mdash; npm@2.11.0</p>
 
index 26810c3..7a0b501 100644 (file)
@@ -30,5 +30,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@2.10.1</p>
+<p id="footer">npm-prune &mdash; npm@2.11.0</p>
 
index 8d2af0d..ac9aac8 100644 (file)
@@ -46,5 +46,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@2.10.1</p>
+<p id="footer">npm-publish &mdash; npm@2.11.0</p>
 
index 9ab09d5..dccd76e 100644 (file)
@@ -30,5 +30,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@2.10.1</p>
+<p id="footer">npm-rebuild &mdash; npm@2.11.0</p>
 
index 77fb30c..d785107 100644 (file)
@@ -33,5 +33,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@2.10.1</p>
+<p id="footer">npm-repo &mdash; npm@2.11.0</p>
 
index 0cb6c9c..99e5a50 100644 (file)
@@ -52,5 +52,5 @@ behavior will be accompanied by an increase in major version number</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-restart &mdash; npm@2.10.1</p>
+<p id="footer">npm-restart &mdash; npm@2.11.0</p>
 
index 9f8a355..38995cf 100644 (file)
@@ -29,5 +29,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@2.10.1</p>
+<p id="footer">npm-root &mdash; npm@2.11.0</p>
 
index 26f62e9..5a39182 100644 (file)
@@ -41,5 +41,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@2.10.1</p>
+<p id="footer">npm-run-script &mdash; npm@2.11.0</p>
 
index 16fa84d..1dfef60 100644 (file)
@@ -53,5 +53,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@2.10.1</p>
+<p id="footer">npm-search &mdash; npm@2.11.0</p>
 
index 77715d7..f790da1 100644 (file)
@@ -33,5 +33,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@2.10.1</p>
+<p id="footer">npm-shrinkwrap &mdash; npm@2.11.0</p>
 
index e39d4e2..567a21e 100644 (file)
@@ -28,5 +28,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@2.10.1</p>
+<p id="footer">npm-start &mdash; npm@2.11.0</p>
 
index de97718..1d9fa9a 100644 (file)
@@ -28,5 +28,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@2.10.1</p>
+<p id="footer">npm-stop &mdash; npm@2.11.0</p>
 
diff --git a/deps/npm/html/doc/api/npm-submodule.html b/deps/npm/html/doc/api/npm-submodule.html
new file mode 100644 (file)
index 0000000..f4b5c85
--- /dev/null
@@ -0,0 +1,45 @@
+<!doctype html>
+<html>
+  <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>
+    <div id="wrapper">
+
+<h1><a href="../api/npm-submodule.html">npm-submodule</a></h1> <p>Add a package as a git submodule</p>
+<h2 id="synopsis">SYNOPSIS</h2>
+<pre><code>npm.commands.submodule(packages, callback)
+</code></pre><h2 id="description">DESCRIPTION</h2>
+<p>For each package specified, npm will check if it has a git repository url
+in its package.json description then add it as a git submodule at
+<code>node_modules/&lt;pkg name&gt;</code>.</p>
+<p>This is a convenience only.  From then on, it&#39;s up to you to manage
+updates by using the appropriate git commands.  npm will stubbornly
+refuse to update, modify, or remove anything with a <code>.git</code> subfolder
+in it.</p>
+<p>This command also does not install missing dependencies, if the package
+does not include them in its git repository.  If <code>npm ls</code> reports that
+things are missing, you can either install, link, or submodule them yourself,
+or you can do <code>npm explore &lt;pkgname&gt; -- npm install</code> to install the
+dependencies into the submodule folder.</p>
+<h2 id="see-also">SEE ALSO</h2>
+<ul>
+<li>npm help json</li>
+<li>git help submodule</li>
+</ul>
+
+</div>
+
+<table border=0 cellspacing=0 cellpadding=0 id=npmlogo>
+<tr><td style="width:180px;height:10px;background:rgb(237,127,127)" colspan=18>&nbsp;</td></tr>
+<tr><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td><td style="width:40px;height:10px;background:#fff" colspan=4>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4>&nbsp;</td><td style="width:40px;height:10px;background:#fff" colspan=4>&nbsp;</td><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td><td colspan=6 style="width:60px;height:10px;background:#fff">&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4>&nbsp;</td></tr>
+<tr><td colspan=2 style="width:20px;height:30px;background:#fff" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:20px;height:10px;background:#fff" rowspan=4 colspan=2>&nbsp;</td><td style="width:10px;height:20px;background:rgb(237,127,127)" rowspan=2>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:20px;height:10px;background:#fff" rowspan=3 colspan=2>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td></tr>
+<tr><td style="width:10px;height:10px;background:#fff" rowspan=2>&nbsp;</td></tr>
+<tr><td style="width:10px;height:10px;background:#fff">&nbsp;</td></tr>
+<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
+<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
+</table>
+<p id="footer">npm-submodule &mdash; npm@1.4.28</p>
index a7a8e47..f5873c9 100644 (file)
@@ -36,5 +36,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@2.10.1</p>
+<p id="footer">npm-tag &mdash; npm@2.11.0</p>
 
index 9f8a9d1..a00fa50 100644 (file)
@@ -30,5 +30,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@2.10.1</p>
+<p id="footer">npm-test &mdash; npm@2.11.0</p>
 
index 30133eb..ec0b0d6 100644 (file)
@@ -30,5 +30,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@2.10.1</p>
+<p id="footer">npm-uninstall &mdash; npm@2.11.0</p>
 
index aa75a23..de9545c 100644 (file)
@@ -33,5 +33,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@2.10.1</p>
+<p id="footer">npm-unpublish &mdash; npm@2.11.0</p>
 
index be50788..5fd779e 100644 (file)
@@ -33,5 +33,5 @@ parameter will be called when done or when an error occurs.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@2.10.1</p>
+<p id="footer">npm-update &mdash; npm@2.11.0</p>
 
index a0fd511..b26d133 100644 (file)
@@ -32,5 +32,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@2.10.1</p>
+<p id="footer">npm-version &mdash; npm@2.11.0</p>
 
index 89c3b74..f85952a 100644 (file)
@@ -81,5 +81,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@2.10.1</p>
+<p id="footer">npm-view &mdash; npm@2.11.0</p>
 
index 1d03071..2769553 100644 (file)
@@ -29,5 +29,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@2.10.1</p>
+<p id="footer">npm-whoami &mdash; npm@2.11.0</p>
 
index 7b57fcd..edf0a18 100644 (file)
@@ -23,7 +23,7 @@ npm.load([configObject, ]function (er, npm) {
   npm.commands.install([&quot;package&quot;], cb)
 })
 </code></pre><h2 id="version">VERSION</h2>
-<p>2.10.1</p>
+<p>2.11.0</p>
 <h2 id="description">DESCRIPTION</h2>
 <p>This is the API documentation for npm.
 To find documentation of the command line
@@ -109,5 +109,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@2.10.1</p>
+<p id="footer">npm &mdash; npm@2.11.0</p>
 
index e7a604b..f980349 100644 (file)
@@ -75,5 +75,5 @@ with an HTTP 402 status code (logically enough), unless you use
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-access &mdash; npm@2.10.1</p>
+<p id="footer">npm-access &mdash; npm@2.11.0</p>
 
index 1175859..8ecceee 100644 (file)
@@ -68,5 +68,5 @@ precedence over any global configuration.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-adduser &mdash; npm@2.10.1</p>
+<p id="footer">npm-adduser &mdash; npm@2.11.0</p>
 
index d33a757..8ed1b84 100644 (file)
@@ -35,5 +35,5 @@
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-bin &mdash; npm@2.10.1</p>
+<p id="footer">npm-bin &mdash; npm@2.11.0</p>
 
index 217c972..c6220b2 100644 (file)
@@ -54,5 +54,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@2.10.1</p>
+<p id="footer">npm-bugs &mdash; npm@2.11.0</p>
 
index b7b7212..625eef5 100644 (file)
@@ -40,5 +40,5 @@ directly, run:</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-build &mdash; npm@2.10.1</p>
+<p id="footer">npm-build &mdash; npm@2.11.0</p>
 
index 3343f79..a9ad57b 100644 (file)
@@ -31,5 +31,5 @@ install packages into the local space.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-bundle &mdash; npm@2.10.1</p>
+<p id="footer">npm-bundle &mdash; npm@2.11.0</p>
 
index 991be9f..5ce0595 100644 (file)
@@ -81,5 +81,5 @@ they do not make an HTTP request to the registry.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-cache &mdash; npm@2.10.1</p>
+<p id="footer">npm-cache &mdash; npm@2.11.0</p>
 
index 7e0fc62..87d5d86 100644 (file)
@@ -42,5 +42,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@2.10.1</p>
+<p id="footer">npm-completion &mdash; npm@2.11.0</p>
 
index 3784723..9ea4f0b 100644 (file)
@@ -66,5 +66,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@2.10.1</p>
+<p id="footer">npm-config &mdash; npm@2.11.0</p>
 
index ce864af..6f3c3fa 100644 (file)
@@ -63,5 +63,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@2.10.1</p>
+<p id="footer">npm-dedupe &mdash; npm@2.11.0</p>
 
index 8a7ec9a..b49af3f 100644 (file)
@@ -38,5 +38,5 @@ something like this:</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-deprecate &mdash; npm@2.10.1</p>
+<p id="footer">npm-deprecate &mdash; npm@2.11.0</p>
 
index 1211dfe..4125c8c 100644 (file)
@@ -77,5 +77,5 @@ begin with a number or the letter <code>v</code>.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-dist-tag &mdash; npm@2.10.1</p>
+<p id="footer">npm-dist-tag &mdash; npm@2.11.0</p>
 
index be146f0..d84cb85 100644 (file)
@@ -56,5 +56,5 @@ the current folder and use the <code>name</code> property.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-docs &mdash; npm@2.10.1</p>
+<p id="footer">npm-docs &mdash; npm@2.11.0</p>
 
index 6a903c4..76f4945 100644 (file)
@@ -49,5 +49,5 @@ or <code>&quot;notepad&quot;</code> on Windows.</li>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-edit &mdash; npm@2.10.1</p>
+<p id="footer">npm-edit &mdash; npm@2.11.0</p>
 
index 0a85fc2..705a167 100644 (file)
@@ -49,5 +49,5 @@ Windows</li>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-explore &mdash; npm@2.10.1</p>
+<p id="footer">npm-explore &mdash; npm@2.11.0</p>
 
index afe18a7..1ae1aed 100644 (file)
@@ -46,5 +46,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@2.10.1</p>
+<p id="footer">npm-help-search &mdash; npm@2.11.0</p>
 
index 9f9c1de..a99fc5a 100644 (file)
@@ -52,5 +52,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@2.10.1</p>
+<p id="footer">npm-help &mdash; npm@2.11.0</p>
 
index 4b98a7b..1d2af21 100644 (file)
@@ -48,5 +48,5 @@ defaults and not prompt you for any options.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-init &mdash; npm@2.10.1</p>
+<p id="footer">npm-init &mdash; npm@2.11.0</p>
 
index c475cc7..0803353 100644 (file)
@@ -264,5 +264,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@2.10.1</p>
+<p id="footer">npm-install &mdash; npm@2.11.0</p>
 
index 022aaf4..bf7f480 100644 (file)
@@ -72,5 +72,5 @@ include that scope, e.g.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-link &mdash; npm@2.10.1</p>
+<p id="footer">npm-link &mdash; npm@2.11.0</p>
 
index f9a4c09..a97572b 100644 (file)
@@ -55,5 +55,5 @@ that registry at the same 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-logout &mdash; npm@2.10.1</p>
+<p id="footer">npm-logout &mdash; npm@2.11.0</p>
 
index 0b9c8e9..514f786 100644 (file)
@@ -22,7 +22,7 @@ installed, as well as their dependencies, in a tree-structure.</p>
 limit the results to only the paths to the packages named.  Note that
 nested packages will <em>also</em> show the paths to the specified packages.
 For example, running <code>npm ls promzard</code> in npm&#39;s source tree will show:</p>
-<pre><code>npm@2.10.1 /path/to/npm
+<pre><code>npm@2.11.0 /path/to/npm
 └─┬ init-package-json@0.0.4
   └── promzard@0.1.5
 </code></pre><p>It will print out extraneous, missing, and invalid packages.</p>
@@ -97,5 +97,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@2.10.1</p>
+<p id="footer">npm-ls &mdash; npm@2.11.0</p>
 
index 8b1a867..8194b87 100644 (file)
@@ -67,5 +67,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@2.10.1</p>
+<p id="footer">npm-outdated &mdash; npm@2.11.0</p>
 
index 70e8aec..82f71f7 100644 (file)
@@ -49,5 +49,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@2.10.1</p>
+<p id="footer">npm-owner &mdash; npm@2.11.0</p>
 
index fa118a7..fc0998b 100644 (file)
@@ -41,5 +41,5 @@ overwritten the second time.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-pack &mdash; npm@2.10.1</p>
+<p id="footer">npm-pack &mdash; npm@2.11.0</p>
 
index d01848a..a8c8e77 100644 (file)
@@ -38,5 +38,5 @@ to contain a package.json file unless <code>-g</code> is also specified.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-prefix &mdash; npm@2.10.1</p>
+<p id="footer">npm-prefix &mdash; npm@2.11.0</p>
 
index 1fce2b5..f277900 100644 (file)
@@ -39,5 +39,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@2.10.1</p>
+<p id="footer">npm-prune &mdash; npm@2.11.0</p>
 
index c840ff4..990b686 100644 (file)
@@ -66,5 +66,5 @@ it is removed with <a href="../cli/npm-unpublish.html"><a href="../cli/npm-unpub
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@2.10.1</p>
+<p id="footer">npm-publish &mdash; npm@2.11.0</p>
 
index f4c8435..2b9a1bc 100644 (file)
@@ -38,5 +38,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@2.10.1</p>
+<p id="footer">npm-rebuild &mdash; npm@2.11.0</p>
 
index 998986f..9e9965a 100644 (file)
@@ -42,5 +42,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@2.10.1</p>
+<p id="footer">npm-repo &mdash; npm@2.11.0</p>
 
index f291d5a..d302bce 100644 (file)
@@ -53,5 +53,5 @@ behavior will be accompanied by an increase in major version number</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-restart &mdash; npm@2.10.1</p>
+<p id="footer">npm-restart &mdash; npm@2.11.0</p>
 
index a67f89a..21dc832 100644 (file)
@@ -39,5 +39,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@2.10.1</p>
+<p id="footer">npm-rm &mdash; npm@2.11.0</p>
 
index 5457c3f..ba6a3c6 100644 (file)
@@ -35,5 +35,5 @@
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-root &mdash; npm@2.10.1</p>
+<p id="footer">npm-root &mdash; npm@2.11.0</p>
 
index 4d21c02..db4c9f5 100644 (file)
@@ -56,5 +56,5 @@ you should write <code>&quot;scripts&quot;: {&quot;test&quot;: &quot;tap test/\*
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@2.10.1</p>
+<p id="footer">npm-run-script &mdash; npm@2.11.0</p>
 
index d402ba4..21e0399 100644 (file)
@@ -49,5 +49,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@2.10.1</p>
+<p id="footer">npm-search &mdash; npm@2.11.0</p>
 
index 78b7442..97aa961 100644 (file)
@@ -18,14 +18,14 @@ that you can control exactly which versions of each dependency will be
 used when your package is installed. The <code>package.json</code> file is still
 required if you want to use <code>npm install</code>.</p>
 <p>By default, <code>npm install</code> recursively installs the target&#39;s
-dependencies (as specified in package.json), choosing the latest
+dependencies (as specified in <code>package.json</code>), choosing the latest
 available version that satisfies the dependency&#39;s semver pattern. In
 some situations, particularly when shipping software where each change
 is tightly managed, it&#39;s desirable to fully specify each version of
 each dependency recursively so that subsequent builds and deploys do
 not inadvertently pick up newer versions of a dependency that satisfy
 the semver pattern. Specifying specific semver patterns in each
-dependency&#39;s package.json would facilitate this, but that&#39;s not always
+dependency&#39;s <code>package.json</code> would facilitate this, but that&#39;s not always
 possible or desirable, as when another author owns the npm package.
 It&#39;s also possible to check dependencies directly into source control,
 but that may be undesirable for other reasons.</p>
@@ -47,7 +47,7 @@ but that may be undesirable for other reasons.</p>
 }
 </code></pre><p>and package C:</p>
 <pre><code>{
-  &quot;name&quot;: &quot;C,
+  &quot;name&quot;: &quot;C&quot;,
   &quot;version&quot;: &quot;0.0.1&quot;
 }
 </code></pre><p>If these are the only versions of A, B, and C available in the
@@ -69,7 +69,7 @@ that he or she does not want to pull in newly published versions of C
 when B hasn&#39;t changed at all.</p>
 <p>In this case, A&#39;s author can run</p>
 <pre><code>npm shrinkwrap
-</code></pre><p>This generates npm-shrinkwrap.json, which will look something like this:</p>
+</code></pre><p>This generates <code>npm-shrinkwrap.json</code>, which will look something like this:</p>
 <pre><code>{
   &quot;name&quot;: &quot;A&quot;,
   &quot;version&quot;: &quot;0.1.0&quot;,
@@ -86,24 +86,24 @@ when B hasn&#39;t changed at all.</p>
 }
 </code></pre><p>The shrinkwrap command has locked down the dependencies based on
 what&#39;s currently installed in node_modules.  When <code>npm install</code>
-installs a package with a npm-shrinkwrap.json file in the package
-root, the shrinkwrap file (rather than package.json files) completely
+installs a package with an <code>npm-shrinkwrap.json</code> in the package
+root, the shrinkwrap file (rather than <code>package.json</code> files) completely
 drives the installation of that package and all of its dependencies
 (recursively).  So now the author publishes A@0.1.0, and subsequent
 installs of this package will use B@0.0.1 and C@0.0.1, regardless the
-dependencies and versions listed in A&#39;s, B&#39;s, and C&#39;s package.json
+dependencies and versions listed in A&#39;s, B&#39;s, and C&#39;s <code>package.json</code>
 files.</p>
 <h3 id="using-shrinkwrapped-packages">Using shrinkwrapped packages</h3>
 <p>Using a shrinkwrapped package is no different than using any other
 package: you can <code>npm install</code> it by hand, or add a dependency to your
-package.json file and <code>npm install</code> it.</p>
+<code>package.json</code> file and <code>npm install</code> it.</p>
 <h3 id="building-shrinkwrapped-packages">Building shrinkwrapped packages</h3>
 <p>To shrinkwrap an existing package:</p>
 <ol>
 <li>Run <code>npm install</code> in the package root to install the current
 versions of all dependencies.</li>
 <li>Validate that the package works as expected with these versions.</li>
-<li>Run <code>npm shrinkwrap</code>, add npm-shrinkwrap.json to git, and publish
+<li>Run <code>npm shrinkwrap</code>, add <code>npm-shrinkwrap.json</code> to git, and publish
 your package.</li>
 </ol>
 <p>To add or update a dependency in a shrinkwrapped package:</p>
@@ -111,24 +111,24 @@ your package.</li>
 <li>Run <code>npm install</code> in the package root to install the current
 versions of all dependencies.</li>
 <li>Add or update dependencies. <code>npm install</code> each new or updated
-package individually and then update package.json.  Note that they
+package individually and then update <code>package.json</code>.  Note that they
 must be explicitly named in order to be installed: running <code>npm
 install</code> with no arguments will merely reproduce the existing
 shrinkwrap.</li>
 <li>Validate that the package works as expected with the new
 dependencies.</li>
-<li>Run <code>npm shrinkwrap</code>, commit the new npm-shrinkwrap.json, and
+<li>Run <code>npm shrinkwrap</code>, commit the new <code>npm-shrinkwrap.json</code>, and
 publish your package.</li>
 </ol>
 <p>You can use <a href="../cli/npm-outdated.html"><a href="../cli/npm-outdated.html">npm-outdated(1)</a></a> to view dependencies with newer versions
 available.</p>
 <h3 id="other-notes">Other Notes</h3>
-<p>A shrinkwrap file must be consistent with the package&#39;s package.json
+<p>A shrinkwrap file must be consistent with the package&#39;s <code>package.json</code>
 file. <code>npm shrinkwrap</code> will fail if required dependencies are not
 already installed, since that would result in a shrinkwrap that
 wouldn&#39;t actually work. Similarly, the command will fail if there are
-extraneous packages (not referenced by package.json), since that would
-indicate that package.json is not correct.</p>
+extraneous packages (not referenced by <code>package.json</code>), since that would
+indicate that <code>package.json</code> is not correct.</p>
 <p>Since <code>npm shrinkwrap</code> is intended to lock down your dependencies for
 production use, <code>devDependencies</code> will not be included unless you
 explicitly set the <code>--dev</code> flag when you run <code>npm shrinkwrap</code>.  If
@@ -164,5 +164,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@2.10.1</p>
+<p id="footer">npm-shrinkwrap &mdash; npm@2.11.0</p>
 
index 9a5099d..3a3343a 100644 (file)
@@ -36,5 +36,5 @@ a vaguely positive way to show that you care.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-star &mdash; npm@2.10.1</p>
+<p id="footer">npm-star &mdash; npm@2.11.0</p>
 
index 9892b25..e956215 100644 (file)
@@ -37,5 +37,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@2.10.1</p>
+<p id="footer">npm-stars &mdash; npm@2.11.0</p>
 
index 406bbc8..63f5acd 100644 (file)
@@ -34,5 +34,5 @@
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-start &mdash; npm@2.10.1</p>
+<p id="footer">npm-start &mdash; npm@2.11.0</p>
 
index 71c0005..63beb46 100644 (file)
@@ -34,5 +34,5 @@
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-stop &mdash; npm@2.10.1</p>
+<p id="footer">npm-stop &mdash; npm@2.11.0</p>
 
diff --git a/deps/npm/html/doc/cli/npm-submodule.html b/deps/npm/html/doc/cli/npm-submodule.html
new file mode 100644 (file)
index 0000000..30bde01
--- /dev/null
@@ -0,0 +1,45 @@
+<!doctype html>
+<html>
+  <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>
+    <div id="wrapper">
+
+<h1><a href="../cli/npm-submodule.html">npm-submodule</a></h1> <p>Add a package as a git submodule</p>
+<h2 id="synopsis">SYNOPSIS</h2>
+<pre><code>npm submodule &lt;pkg&gt;
+</code></pre><h2 id="description">DESCRIPTION</h2>
+<p>If the specified package has a git repository url in its package.json
+description, then this command will add it as a git submodule at
+<code>node_modules/&lt;pkg name&gt;</code>.</p>
+<p>This is a convenience only.  From then on, it&#39;s up to you to manage
+updates by using the appropriate git commands.  npm will stubbornly
+refuse to update, modify, or remove anything with a <code>.git</code> subfolder
+in it.</p>
+<p>This command also does not install missing dependencies, if the package
+does not include them in its git repository.  If <code>npm ls</code> reports that
+things are missing, you can either install, link, or submodule them yourself,
+or you can do <code>npm explore &lt;pkgname&gt; -- npm install</code> to install the
+dependencies into the submodule folder.</p>
+<h2 id="see-also">SEE ALSO</h2>
+<ul>
+<li><a href="../files/package.json.html">package.json(5)</a></li>
+<li>git help submodule</li>
+</ul>
+
+</div>
+
+<table border=0 cellspacing=0 cellpadding=0 id=npmlogo>
+<tr><td style="width:180px;height:10px;background:rgb(237,127,127)" colspan=18>&nbsp;</td></tr>
+<tr><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td><td style="width:40px;height:10px;background:#fff" colspan=4>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4>&nbsp;</td><td style="width:40px;height:10px;background:#fff" colspan=4>&nbsp;</td><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td><td colspan=6 style="width:60px;height:10px;background:#fff">&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4>&nbsp;</td></tr>
+<tr><td colspan=2 style="width:20px;height:30px;background:#fff" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:20px;height:10px;background:#fff" rowspan=4 colspan=2>&nbsp;</td><td style="width:10px;height:20px;background:rgb(237,127,127)" rowspan=2>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:20px;height:10px;background:#fff" rowspan=3 colspan=2>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:#fff" rowspan=3>&nbsp;</td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3>&nbsp;</td></tr>
+<tr><td style="width:10px;height:10px;background:#fff" rowspan=2>&nbsp;</td></tr>
+<tr><td style="width:10px;height:10px;background:#fff">&nbsp;</td></tr>
+<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
+<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
+</table>
+<p id="footer">npm-submodule &mdash; npm@1.4.28</p>
index f3f581c..db9a50d 100644 (file)
@@ -62,5 +62,5 @@ that do not begin with a number or the letter <code>v</code>.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-tag &mdash; npm@2.10.1</p>
+<p id="footer">npm-tag &mdash; npm@2.11.0</p>
 
index 87bd232..e3e20b7 100644 (file)
@@ -37,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@2.10.1</p>
+<p id="footer">npm-test &mdash; npm@2.11.0</p>
 
index 86a7aae..9c356a2 100644 (file)
@@ -57,5 +57,5 @@ npm uninstall dtrace-provider --save-optional
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-uninstall &mdash; npm@2.10.1</p>
+<p id="footer">npm-uninstall &mdash; npm@2.11.0</p>
 
index 7727645..d867666 100644 (file)
@@ -47,5 +47,5 @@ package again, a new version number must be used.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-unpublish &mdash; npm@2.10.1</p>
+<p id="footer">npm-unpublish &mdash; npm@2.11.0</p>
 
index 7a090ee..80d46fb 100644 (file)
@@ -119,5 +119,5 @@ be <em>downgraded</em>.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-update &mdash; npm@2.10.1</p>
+<p id="footer">npm-update &mdash; npm@2.11.0</p>
 
index 36f2c1d..95accea 100644 (file)
@@ -39,6 +39,12 @@ user: &quot;isaacs (http://blog.izs.me/) &lt;i@izs.me&gt;&quot;
 2048-bit RSA key, ID 6C481CF6, created 2010-08-31
 
 Enter passphrase:
+</code></pre><p>If &quot;preversion&quot;, &quot;version&quot;, &quot;postversion&quot; in the &quot;scripts&quot; property of
+the package.json, it will execute by running <code>npm version</code>. preversion
+and version ware executed before bump the package version, postversion
+was executed after bump the package version. For example to run <code>npm version</code>
+after passed all test:</p>
+<pre><code>&quot;scripts&quot;: { &quot;preversion&quot;: &quot;npm test&quot; }
 </code></pre><h2 id="configuration">CONFIGURATION</h2>
 <h3 id="git-tag-version">git-tag-version</h3>
 <ul>
@@ -49,6 +55,8 @@ Enter passphrase:
 <h2 id="see-also">SEE ALSO</h2>
 <ul>
 <li><a href="../cli/npm-init.html"><a href="../cli/npm-init.html">npm-init(1)</a></a></li>
+<li><a href="../cli/npm-run-script.html"><a href="../cli/npm-run-script.html">npm-run-script(1)</a></a></li>
+<li><a href="../misc/npm-scripts.html"><a href="../misc/npm-scripts.html">npm-scripts(7)</a></a></li>
 <li><a href="../files/package.json.html"><a href="../files/package.json.html">package.json(5)</a></a></li>
 <li><a href="../misc/semver.html"><a href="../misc/semver.html">semver(7)</a></a></li>
 <li><a href="../misc/config.html"><a href="../misc/config.html">config(7)</a></a></li>
@@ -65,5 +73,5 @@ Enter passphrase:
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@2.10.1</p>
+<p id="footer">npm-version &mdash; npm@2.11.0</p>
 
index bb3104f..8d6327f 100644 (file)
@@ -82,5 +82,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@2.10.1</p>
+<p id="footer">npm-view &mdash; npm@2.11.0</p>
 
index 6a84ce4..3a17bd6 100644 (file)
@@ -33,5 +33,5 @@
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-whoami &mdash; npm@2.10.1</p>
+<p id="footer">npm-whoami &mdash; npm@2.11.0</p>
 
index fe8a3e8..d1409bc 100644 (file)
@@ -13,7 +13,7 @@
 <h2 id="synopsis">SYNOPSIS</h2>
 <pre><code>npm &lt;command&gt; [args]
 </code></pre><h2 id="version">VERSION</h2>
-<p>2.10.1</p>
+<p>2.11.0</p>
 <h2 id="description">DESCRIPTION</h2>
 <p>npm is the package manager for the Node JavaScript platform.  It puts
 modules in place so that node can find them, and manages dependency
@@ -110,7 +110,7 @@ easily by doing <code>npm view npm contributors</code>.</p>
 the issues list or ask on the mailing list.</p>
 <ul>
 <li><a href="http://github.com/npm/npm/issues">http://github.com/npm/npm/issues</a></li>
-<li><a href="&#x6d;&#97;&#x69;&#108;&#x74;&#x6f;&#58;&#110;&#112;&#109;&#x2d;&#x40;&#x67;&#111;&#x6f;&#103;&#108;&#x65;&#x67;&#114;&#111;&#117;&#x70;&#115;&#x2e;&#99;&#x6f;&#x6d;">&#110;&#112;&#109;&#x2d;&#x40;&#x67;&#111;&#x6f;&#103;&#108;&#x65;&#x67;&#114;&#111;&#117;&#x70;&#115;&#x2e;&#99;&#x6f;&#x6d;</a></li>
+<li><a href="&#x6d;&#x61;&#x69;&#x6c;&#x74;&#x6f;&#x3a;&#110;&#112;&#109;&#x2d;&#x40;&#103;&#x6f;&#x6f;&#x67;&#108;&#101;&#103;&#114;&#x6f;&#x75;&#112;&#115;&#46;&#x63;&#111;&#109;">&#110;&#112;&#109;&#x2d;&#x40;&#103;&#x6f;&#x6f;&#x67;&#108;&#101;&#103;&#114;&#x6f;&#x75;&#112;&#115;&#46;&#x63;&#111;&#109;</a></li>
 </ul>
 <h2 id="bugs">BUGS</h2>
 <p>When you find issues, please report them:</p>
@@ -118,7 +118,7 @@ the issues list or ask on the mailing list.</p>
 <li>web:
 <a href="http://github.com/npm/npm/issues">http://github.com/npm/npm/issues</a></li>
 <li>email:
-<a href="&#x6d;&#x61;&#105;&#108;&#116;&#111;&#x3a;&#110;&#x70;&#109;&#x2d;&#64;&#x67;&#111;&#111;&#103;&#108;&#101;&#x67;&#114;&#x6f;&#x75;&#x70;&#115;&#46;&#x63;&#111;&#109;">&#110;&#x70;&#109;&#x2d;&#64;&#x67;&#111;&#111;&#103;&#108;&#101;&#x67;&#114;&#x6f;&#x75;&#x70;&#115;&#46;&#x63;&#111;&#109;</a></li>
+<a href="&#109;&#97;&#105;&#x6c;&#x74;&#111;&#58;&#110;&#112;&#109;&#45;&#x40;&#x67;&#x6f;&#x6f;&#x67;&#x6c;&#101;&#x67;&#x72;&#x6f;&#117;&#112;&#x73;&#x2e;&#99;&#111;&#x6d;">&#110;&#112;&#109;&#45;&#x40;&#x67;&#x6f;&#x6f;&#x67;&#x6c;&#101;&#x67;&#x72;&#x6f;&#117;&#112;&#x73;&#x2e;&#99;&#111;&#x6d;</a></li>
 </ul>
 <p>Be sure to include <em>all</em> of the output from the npm command that didn&#39;t work
 as expected.  The <code>npm-debug.log</code> file is also helpful to provide.</p>
@@ -128,7 +128,7 @@ will no doubt tell you to put the output in a gist or email.</p>
 <p><a href="http://blog.izs.me/">Isaac Z. Schlueter</a> ::
 <a href="https://github.com/isaacs/">isaacs</a> ::
 <a href="http://twitter.com/izs">@izs</a> ::
-<a href="&#109;&#97;&#x69;&#x6c;&#116;&#x6f;&#x3a;&#x69;&#64;&#105;&#x7a;&#115;&#46;&#109;&#101;">&#x69;&#64;&#105;&#x7a;&#115;&#46;&#109;&#101;</a></p>
+<a href="&#109;&#x61;&#x69;&#x6c;&#x74;&#x6f;&#58;&#x69;&#x40;&#105;&#122;&#115;&#46;&#x6d;&#101;">&#x69;&#x40;&#105;&#122;&#115;&#46;&#x6d;&#101;</a></p>
 <h2 id="see-also">SEE ALSO</h2>
 <ul>
 <li><a href="../cli/npm-help.html"><a href="../cli/npm-help.html">npm-help(1)</a></a></li>
@@ -154,5 +154,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@2.10.1</p>
+<p id="footer">npm &mdash; npm@2.11.0</p>
 
index 3eac6ce..7115ac1 100644 (file)
@@ -184,5 +184,5 @@ cannot be found elsewhere.  See <code><a href="../files/package.json.html"><a hr
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@2.10.1</p>
+<p id="footer">npm-folders &mdash; npm@2.11.0</p>
 
index 2ddeedd..fbfc4fb 100644 (file)
@@ -184,5 +184,5 @@ cannot be found elsewhere.  See <code><a href="../files/package.json.html"><a hr
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-global &mdash; npm@2.10.1</p>
+<p id="footer">npm-global &mdash; npm@2.11.0</p>
 
index c99da5c..35d1766 100644 (file)
@@ -538,5 +538,5 @@ ignored.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-json &mdash; npm@2.10.1</p>
+<p id="footer">npm-json &mdash; npm@2.11.0</p>
 
index d113aed..85ecce5 100644 (file)
@@ -77,5 +77,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@2.10.1</p>
+<p id="footer">npmrc &mdash; npm@2.11.0</p>
 
index e914991..1fc1055 100644 (file)
@@ -538,5 +538,5 @@ ignored.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">package.json &mdash; npm@2.10.1</p>
+<p id="footer">package.json &mdash; npm@2.11.0</p>
 
index c62dd35..40510cb 100644 (file)
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">index &mdash; npm@2.10.1</p>
+<p id="footer">index &mdash; npm@2.11.0</p>
 
index 7864690..304e361 100644 (file)
@@ -147,5 +147,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@2.10.1</p>
+<p id="footer">npm-coding-style &mdash; npm@2.11.0</p>
 
index 086275a..1293642 100644 (file)
@@ -799,5 +799,5 @@ exit successfully.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-config &mdash; npm@2.10.1</p>
+<p id="footer">npm-config &mdash; npm@2.11.0</p>
 
index a73ac25..11acb8b 100644 (file)
@@ -189,5 +189,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@2.10.1</p>
+<p id="footer">npm-developers &mdash; npm@2.11.0</p>
 
index 7a395ce..905dce2 100644 (file)
@@ -13,7 +13,7 @@
 <h2 id="synopsis">SYNOPSIS</h2>
 <ol>
 <li>Get the author email with <code>npm owner ls &lt;pkgname&gt;</code></li>
-<li>Email the author, CC <a href="&#x6d;&#97;&#x69;&#108;&#116;&#111;&#x3a;&#115;&#117;&#x70;&#112;&#x6f;&#x72;&#x74;&#64;&#x6e;&#112;&#109;&#x6a;&#x73;&#46;&#x63;&#111;&#x6d;">&#115;&#117;&#x70;&#112;&#x6f;&#x72;&#x74;&#64;&#x6e;&#112;&#109;&#x6a;&#x73;&#46;&#x63;&#111;&#x6d;</a></li>
+<li>Email the author, CC <a href="&#x6d;&#97;&#105;&#108;&#x74;&#x6f;&#x3a;&#115;&#117;&#x70;&#112;&#x6f;&#x72;&#x74;&#64;&#110;&#x70;&#109;&#x6a;&#115;&#x2e;&#x63;&#x6f;&#109;">&#115;&#117;&#x70;&#112;&#x6f;&#x72;&#x74;&#64;&#110;&#x70;&#109;&#x6a;&#115;&#x2e;&#x63;&#x6f;&#109;</a></li>
 <li>After a few weeks, if there&#39;s no resolution, we&#39;ll sort it out.</li>
 </ol>
 <p>Don&#39;t squat on package names.  Publish code or move out of the way.</p>
@@ -51,12 +51,12 @@ Joe&#39;s appropriate course of action in each case is the same.</p>
 owner (Bob).</li>
 <li>Joe emails Bob, explaining the situation <strong>as respectfully as
 possible</strong>, and what he would like to do with the module name.  He
-adds the npm support staff <a href="&#109;&#x61;&#105;&#x6c;&#116;&#111;&#x3a;&#115;&#x75;&#112;&#112;&#111;&#x72;&#x74;&#x40;&#x6e;&#112;&#109;&#106;&#x73;&#46;&#x63;&#111;&#109;">&#115;&#x75;&#112;&#112;&#111;&#x72;&#x74;&#x40;&#x6e;&#112;&#109;&#106;&#x73;&#46;&#x63;&#111;&#109;</a> to the CC list of
+adds the npm support staff <a href="&#x6d;&#97;&#105;&#108;&#116;&#111;&#x3a;&#x73;&#x75;&#112;&#112;&#111;&#114;&#116;&#64;&#x6e;&#x70;&#x6d;&#x6a;&#x73;&#x2e;&#99;&#111;&#109;">&#x73;&#x75;&#112;&#112;&#111;&#114;&#116;&#64;&#x6e;&#x70;&#x6d;&#x6a;&#x73;&#x2e;&#99;&#111;&#109;</a> to the CC list of
 the email.  Mention in the email that Bob can run <code>npm owner add
 joe foo</code> to add Joe as an owner of the <code>foo</code> package.</li>
 <li>After a reasonable amount of time, if Bob has not responded, or if
 Bob and Joe can&#39;t come to any sort of resolution, email support
-<a href="&#x6d;&#x61;&#x69;&#x6c;&#116;&#x6f;&#x3a;&#x73;&#117;&#x70;&#112;&#x6f;&#x72;&#x74;&#x40;&#x6e;&#x70;&#x6d;&#x6a;&#115;&#x2e;&#99;&#111;&#109;">&#x73;&#117;&#x70;&#112;&#x6f;&#x72;&#x74;&#x40;&#x6e;&#x70;&#x6d;&#x6a;&#115;&#x2e;&#99;&#111;&#109;</a> and we&#39;ll sort it out.  (&quot;Reasonable&quot; is
+<a href="&#109;&#x61;&#105;&#x6c;&#116;&#111;&#x3a;&#115;&#117;&#x70;&#x70;&#111;&#x72;&#116;&#x40;&#x6e;&#112;&#x6d;&#x6a;&#115;&#x2e;&#99;&#x6f;&#x6d;">&#115;&#117;&#x70;&#x70;&#111;&#x72;&#116;&#x40;&#x6e;&#112;&#x6d;&#x6a;&#115;&#x2e;&#99;&#x6f;&#x6d;</a> and we&#39;ll sort it out.  (&quot;Reasonable&quot; is
 usually at least 4 weeks, but extra time is allowed around common
 holidays.)</li>
 </ol>
@@ -112,5 +112,5 @@ things into it.</li>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-disputes &mdash; npm@2.10.1</p>
+<p id="footer">npm-disputes &mdash; npm@2.11.0</p>
 
index 3754a93..7abe589 100644 (file)
@@ -236,7 +236,7 @@ that has a package.json in its root, or a git url.
 <p>To check if the registry is down, open up
 <a href="https://registry.npmjs.org/">https://registry.npmjs.org/</a> in a web browser.  This will also tell
 you if you are just unable to access the internet for some reason.</p>
-<p>If the registry IS down, let us know by emailing <a href="&#109;&#x61;&#105;&#x6c;&#x74;&#111;&#58;&#115;&#117;&#112;&#112;&#111;&#x72;&#116;&#x40;&#110;&#112;&#109;&#x6a;&#115;&#46;&#99;&#x6f;&#x6d;">&#115;&#117;&#112;&#112;&#111;&#x72;&#116;&#x40;&#110;&#112;&#109;&#x6a;&#115;&#46;&#99;&#x6f;&#x6d;</a>
+<p>If the registry IS down, let us know by emailing <a href="&#x6d;&#97;&#x69;&#108;&#116;&#111;&#58;&#115;&#117;&#x70;&#x70;&#x6f;&#x72;&#x74;&#x40;&#110;&#112;&#x6d;&#x6a;&#x73;&#46;&#99;&#111;&#x6d;">&#115;&#117;&#x70;&#x70;&#x6f;&#x72;&#x74;&#x40;&#110;&#112;&#x6d;&#x6a;&#x73;&#46;&#99;&#111;&#x6d;</a>
 or posting an issue at <a href="https://github.com/npm/npm/issues">https://github.com/npm/npm/issues</a>.  If it&#39;s
 down for the world (and not just on your local network) then we&#39;re
 probably already being pinged about it.</p>
@@ -244,19 +244,19 @@ probably already being pinged about it.</p>
 on Freenode IRC.</p>
 <h2 id="why-no-namespaces-">Why no namespaces?</h2>
 <p>npm has only one global namespace.  If you want to namespace your own packages,
-you may: simply use the <code>-</code> character to separate the names.  npm is a mostly
-anarchic system.  There is not sufficient need to impose namespace rules on
-everyone.</p>
+you may: simply use the <code>-</code> character to separate the names or use scoped
+packages.  npm is a mostly anarchic system.  There is not sufficient need to
+impose namespace rules on everyone.</p>
 <p>As of 2.0, npm supports scoped packages, which allow you to publish a group of
 related modules without worrying about name collisions.</p>
 <p>Every npm user owns the scope associated with their username.  For example, the
 user named <code>npm</code> owns the scope <code>@npm</code>.  Scoped packages are published inside a
 scope by naming them as if they were files under the scope directory, e.g., by
 setting <code>name</code> in <code>package.json</code> to <code>@npm/npm</code>.</p>
-<p>Scoped packages can coexist with public npm packages in a private npm registry.
-At present (2014-11-04) scoped packages may NOT be published to the public npm
-registry.</p>
-<p>Unscoped packages can only depend on other unscoped packages.  Scoped packages
+<p>Scoped packages are supported by the public npm registry. The npm client is
+backwards-compatible with un-scoped registries, so it can be used to work with
+scoped and un-scoped registries at the same time.</p>
+<p>Unscoped packages can only depend on other unscoped packages. Scoped packages
 can depend on packages from their own scope, a different scope, or the public
 registry (unscoped).</p>
 <p>For the current documentation of scoped packages, see
@@ -307,5 +307,5 @@ good folks at <a href="http://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@2.10.1</p>
+<p id="footer">npm-faq &mdash; npm@2.11.0</p>
 
index 196fdae..b6e3790 100644 (file)
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,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@2.10.1</p>
+<p id="footer">npm-index &mdash; npm@2.11.0</p>
 
index 9c87ab4..2e86625 100644 (file)
@@ -70,5 +70,5 @@ effectively implement the entire CouchDB API anyway.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-registry &mdash; npm@2.10.1</p>
+<p id="footer">npm-registry &mdash; npm@2.11.0</p>
 
index cee6961..6073eea 100644 (file)
@@ -91,5 +91,5 @@ that registry instead.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-scope &mdash; npm@2.10.1</p>
+<p id="footer">npm-scope &mdash; npm@2.11.0</p>
 
index 526459e..90d4dde 100644 (file)
@@ -27,6 +27,10 @@ Run AFTER the package is installed.</li>
 Run BEFORE the package is uninstalled.</li>
 <li>postuninstall:
 Run AFTER the package is uninstalled.</li>
+<li>preversion, version:
+Run BEFORE bump the package version.</li>
+<li>postversion:
+Run AFTER bump the package version.</li>
 <li>pretest, test, posttest:
 Run by the <code>npm test</code> command.</li>
 <li>prestop, stop, poststop:
@@ -203,5 +207,5 @@ scripts is for compilation which must be done on the target architecture.</li>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-scripts &mdash; npm@2.10.1</p>
+<p id="footer">npm-scripts &mdash; npm@2.11.0</p>
 
index 21ce3c5..1d7328b 100644 (file)
@@ -57,5 +57,5 @@ modules.  To track those down, you can do the following:</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">removing-npm &mdash; npm@2.10.1</p>
+<p id="footer">removing-npm &mdash; npm@2.11.0</p>
 
index ab65a6d..e09058a 100644 (file)
@@ -282,5 +282,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@2.10.1</p>
+<p id="footer">semver &mdash; npm@2.11.0</p>
 
index 303ba9a..4c96624 100644 (file)
@@ -21,13 +21,16 @@ paths, etc.) then read on.</p>
 <p>There&#39;s a pretty robust install script at
 <a href="https://www.npmjs.com/install.sh">https://www.npmjs.com/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://www.npmjs.com/install.sh | sh
-</code></pre><h3 id="slightly-fancier">Slightly Fancier</h3>
+<pre><code class="lang-sh">curl -L https://www.npmjs.com/install.sh | sh
+</code></pre>
+<h3 id="slightly-fancier">Slightly Fancier</h3>
 <p>You can set any npm configuration params with that script:</p>
-<pre><code>npm_config_prefix=/some/path sh install.sh
-</code></pre><p>Or, you can run it in uber-debuggery mode:</p>
-<pre><code>npm_debug=1 sh install.sh
-</code></pre><h3 id="even-fancier">Even Fancier</h3>
+<pre><code class="lang-sh">npm_config_prefix=/some/path sh install.sh
+</code></pre>
+<p>Or, you can run it in uber-debuggery mode:</p>
+<pre><code class="lang-sh">npm_debug=1 sh install.sh
+</code></pre>
+<h3 id="even-fancier">Even Fancier</h3>
 <p>Get the code with git.  Use <code>make</code> to build the docs and do other stuff.
 If you plan on hacking on npm, <code>make link</code> is your friend.</p>
 <p>If you&#39;ve got the npm source code, you can also semi-permanently set
@@ -46,10 +49,12 @@ git, and mess with it directly.</p>
 <p>No.</p>
 <h2 id="uninstalling">Uninstalling</h2>
 <p>So sad to see you go.</p>
-<pre><code>sudo npm uninstall npm -g
-</code></pre><p>Or, if that fails,</p>
-<pre><code>sudo make uninstall
-</code></pre><h2 id="more-severe-uninstalling">More Severe Uninstalling</h2>
+<pre><code class="lang-sh">sudo npm uninstall npm -g
+</code></pre>
+<p>Or, if that fails,</p>
+<pre><code class="lang-sh">sudo make uninstall
+</code></pre>
+<h2 id="more-severe-uninstalling">More Severe Uninstalling</h2>
 <p>Usually, the above instructions are sufficient.  That will remove
 npm, but leave behind anything you&#39;ve installed.</p>
 <p>If you would like to remove all the packages that you have installed,
@@ -57,25 +62,33 @@ then you can use the <code>npm ls</code> command to find them, and then <code>np
 remove them.</p>
 <p>To remove cruft left behind by npm 0.x, you can use the included
 <code>clean-old.sh</code> script file.  You can run it conveniently like this:</p>
-<pre><code>npm explore npm -g -- sh scripts/clean-old.sh
-</code></pre><p>npm uses two configuration files, one for per-user configs, and another
+<pre><code class="lang-sh">npm explore npm -g -- sh scripts/clean-old.sh
+</code></pre>
+<p>npm uses two configuration files, one for per-user configs, and another
 for global (every-user) configs.  You can view them by doing:</p>
-<pre><code>npm config get userconfig   # defaults to ~/.npmrc
+<pre><code class="lang-sh">npm config get userconfig   # defaults to ~/.npmrc
 npm config get globalconfig # defaults to /usr/local/etc/npmrc
-</code></pre><p>Uninstalling npm does not remove configuration files by default.  You
+</code></pre>
+<p>Uninstalling npm does not remove configuration files by default.  You
 must remove them yourself manually if you want them gone.  Note that
 this means that future npm installs will not remember the settings that
 you have chosen.</p>
 <h2 id="using-npm-programmatically">Using npm Programmatically</h2>
-<p>If you would like to use npm programmatically, you can do that.
-It&#39;s not very well documented, but it <em>is</em> rather simple.</p>
-<p>Most of the time, unless you actually want to do all the things that
-npm does, you should try using one of npm&#39;s dependencies rather than
-using npm itself, if possible.</p>
-<p>Eventually, npm will be just a thin cli wrapper around the modules
-that it depends on, but for now, there are some things that you must
-use npm itself to do.</p>
-<pre><code>var npm = require(&quot;npm&quot;)
+<p>Although npm can be used programmatically, its API is meant for use by the CLI
+<em>only</em>, and no guarantees are made regarding its fitness for any other purpose.
+If you want to use npm to reliably perform some task, the safest thing to do is
+to invoke the desired <code>npm</code> command with appropriate arguments.</p>
+<p>The semantic version of npm refers to the CLI itself, rather than the
+underlying API. <em>The internal API is not guaranteed to remain stable even when
+npm&#39;s version indicates no breaking changes have been made according to
+semver.</em></p>
+<p>If you <em>still</em> would like to use npm programmatically, it&#39;s <em>possible</em>. The API
+isn&#39;t very well documented, but it <em>is</em> rather simple.</p>
+<p>Eventually, npm will be just a thin CLI wrapper around the modules that it
+depends on, but for now, there are some things that only the CLI can do. You
+should try using one of npm&#39;s dependencies first, and only use the API if what
+you&#39;re trying to do is only supported by npm itself.</p>
+<pre><code class="lang-javascript">var npm = require(&quot;npm&quot;)
 npm.load(myConfigObject, function (er) {
   if (er) return handlError(er)
   npm.commands.install([&quot;some&quot;, &quot;args&quot;], function (er, data) {
@@ -84,7 +97,8 @@ npm.load(myConfigObject, function (er) {
   })
   npm.registry.log.on(&quot;log&quot;, function (message) { .... })
 })
-</code></pre><p>The <code>load</code> function takes an object hash of the command-line configs.
+</code></pre>
+<p>The <code>load</code> function takes an object hash of the command-line configs.
 The various <code>npm.commands.&lt;cmd&gt;</code> functions take an <strong>array</strong> of
 positional argument <strong>strings</strong>.  The last argument to any
 <code>npm.commands.&lt;cmd&gt;</code> function is a callback.  Some commands take other
@@ -115,7 +129,7 @@ specific purpose, or lack of malice in any given npm package.</p>
 <p>If you have a complaint about a package in the public npm registry,
 and cannot <a href="https://docs.npmjs.com/misc/disputes">resolve it with the package
 owner</a>, please email
-<a href="&#109;&#97;&#105;&#x6c;&#x74;&#x6f;&#x3a;&#x73;&#117;&#112;&#112;&#x6f;&#114;&#x74;&#64;&#110;&#112;&#109;&#x6a;&#x73;&#46;&#99;&#x6f;&#x6d;">&#x73;&#117;&#112;&#112;&#x6f;&#114;&#x74;&#64;&#110;&#112;&#109;&#x6a;&#x73;&#46;&#99;&#x6f;&#x6d;</a> and explain the situation.</p>
+<a href="&#109;&#x61;&#x69;&#108;&#116;&#x6f;&#58;&#x73;&#x75;&#x70;&#x70;&#x6f;&#114;&#116;&#64;&#110;&#x70;&#109;&#x6a;&#x73;&#x2e;&#x63;&#111;&#x6d;">&#x73;&#x75;&#x70;&#x70;&#x6f;&#114;&#116;&#64;&#110;&#x70;&#109;&#x6a;&#x73;&#x2e;&#x63;&#111;&#x6d;</a> and explain the situation.</p>
 <p>Any data published to The npm Registry (including user account
 information) may be removed or modified at the sole discretion of the
 npm server administrators.</p>
diff --git a/deps/npm/html/partial/doc/api/npm-submodule.html b/deps/npm/html/partial/doc/api/npm-submodule.html
new file mode 100644 (file)
index 0000000..cc7dd82
--- /dev/null
@@ -0,0 +1,21 @@
+<h1><a href="../api/npm-submodule.html">npm-submodule</a></h1> <p>Add a package as a git submodule</p>
+<h2 id="synopsis">SYNOPSIS</h2>
+<pre><code>npm.commands.submodule(packages, callback)
+</code></pre><h2 id="description">DESCRIPTION</h2>
+<p>For each package specified, npm will check if it has a git repository url
+in its package.json description then add it as a git submodule at
+<code>node_modules/&lt;pkg name&gt;</code>.</p>
+<p>This is a convenience only.  From then on, it&#39;s up to you to manage
+updates by using the appropriate git commands.  npm will stubbornly
+refuse to update, modify, or remove anything with a <code>.git</code> subfolder
+in it.</p>
+<p>This command also does not install missing dependencies, if the package
+does not include them in its git repository.  If <code>npm ls</code> reports that
+things are missing, you can either install, link, or submodule them yourself,
+or you can do <code>npm explore &lt;pkgname&gt; -- npm install</code> to install the
+dependencies into the submodule folder.</p>
+<h2 id="see-also">SEE ALSO</h2>
+<ul>
+<li>npm help json</li>
+<li>git help submodule</li>
+</ul>
index 044a656..2f2b671 100644 (file)
@@ -12,7 +12,7 @@ npm.load([configObject, ]function (er, npm) {
   npm.commands.install([&quot;package&quot;], cb)
 })
 </code></pre><h2 id="version">VERSION</h2>
-<p>2.10.1</p>
+<p>2.11.0</p>
 <h2 id="description">DESCRIPTION</h2>
 <p>This is the API documentation for npm.
 To find documentation of the command line
index 448aae4..be257c5 100644 (file)
@@ -11,7 +11,7 @@ installed, as well as their dependencies, in a tree-structure.</p>
 limit the results to only the paths to the packages named.  Note that
 nested packages will <em>also</em> show the paths to the specified packages.
 For example, running <code>npm ls promzard</code> in npm&#39;s source tree will show:</p>
-<pre><code>npm@2.10.1 /path/to/npm
+<pre><code>npm@2.11.0 /path/to/npm
 └─┬ init-package-json@0.0.4
   └── promzard@0.1.5
 </code></pre><p>It will print out extraneous, missing, and invalid packages.</p>
index 7857cf8..8ac97fc 100644 (file)
@@ -7,14 +7,14 @@ that you can control exactly which versions of each dependency will be
 used when your package is installed. The <code>package.json</code> file is still
 required if you want to use <code>npm install</code>.</p>
 <p>By default, <code>npm install</code> recursively installs the target&#39;s
-dependencies (as specified in package.json), choosing the latest
+dependencies (as specified in <code>package.json</code>), choosing the latest
 available version that satisfies the dependency&#39;s semver pattern. In
 some situations, particularly when shipping software where each change
 is tightly managed, it&#39;s desirable to fully specify each version of
 each dependency recursively so that subsequent builds and deploys do
 not inadvertently pick up newer versions of a dependency that satisfy
 the semver pattern. Specifying specific semver patterns in each
-dependency&#39;s package.json would facilitate this, but that&#39;s not always
+dependency&#39;s <code>package.json</code> would facilitate this, but that&#39;s not always
 possible or desirable, as when another author owns the npm package.
 It&#39;s also possible to check dependencies directly into source control,
 but that may be undesirable for other reasons.</p>
@@ -36,7 +36,7 @@ but that may be undesirable for other reasons.</p>
 }
 </code></pre><p>and package C:</p>
 <pre><code>{
-  &quot;name&quot;: &quot;C,
+  &quot;name&quot;: &quot;C&quot;,
   &quot;version&quot;: &quot;0.0.1&quot;
 }
 </code></pre><p>If these are the only versions of A, B, and C available in the
@@ -58,7 +58,7 @@ that he or she does not want to pull in newly published versions of C
 when B hasn&#39;t changed at all.</p>
 <p>In this case, A&#39;s author can run</p>
 <pre><code>npm shrinkwrap
-</code></pre><p>This generates npm-shrinkwrap.json, which will look something like this:</p>
+</code></pre><p>This generates <code>npm-shrinkwrap.json</code>, which will look something like this:</p>
 <pre><code>{
   &quot;name&quot;: &quot;A&quot;,
   &quot;version&quot;: &quot;0.1.0&quot;,
@@ -75,24 +75,24 @@ when B hasn&#39;t changed at all.</p>
 }
 </code></pre><p>The shrinkwrap command has locked down the dependencies based on
 what&#39;s currently installed in node_modules.  When <code>npm install</code>
-installs a package with a npm-shrinkwrap.json file in the package
-root, the shrinkwrap file (rather than package.json files) completely
+installs a package with an <code>npm-shrinkwrap.json</code> in the package
+root, the shrinkwrap file (rather than <code>package.json</code> files) completely
 drives the installation of that package and all of its dependencies
 (recursively).  So now the author publishes A@0.1.0, and subsequent
 installs of this package will use B@0.0.1 and C@0.0.1, regardless the
-dependencies and versions listed in A&#39;s, B&#39;s, and C&#39;s package.json
+dependencies and versions listed in A&#39;s, B&#39;s, and C&#39;s <code>package.json</code>
 files.</p>
 <h3 id="using-shrinkwrapped-packages">Using shrinkwrapped packages</h3>
 <p>Using a shrinkwrapped package is no different than using any other
 package: you can <code>npm install</code> it by hand, or add a dependency to your
-package.json file and <code>npm install</code> it.</p>
+<code>package.json</code> file and <code>npm install</code> it.</p>
 <h3 id="building-shrinkwrapped-packages">Building shrinkwrapped packages</h3>
 <p>To shrinkwrap an existing package:</p>
 <ol>
 <li>Run <code>npm install</code> in the package root to install the current
 versions of all dependencies.</li>
 <li>Validate that the package works as expected with these versions.</li>
-<li>Run <code>npm shrinkwrap</code>, add npm-shrinkwrap.json to git, and publish
+<li>Run <code>npm shrinkwrap</code>, add <code>npm-shrinkwrap.json</code> to git, and publish
 your package.</li>
 </ol>
 <p>To add or update a dependency in a shrinkwrapped package:</p>
@@ -100,24 +100,24 @@ your package.</li>
 <li>Run <code>npm install</code> in the package root to install the current
 versions of all dependencies.</li>
 <li>Add or update dependencies. <code>npm install</code> each new or updated
-package individually and then update package.json.  Note that they
+package individually and then update <code>package.json</code>.  Note that they
 must be explicitly named in order to be installed: running <code>npm
 install</code> with no arguments will merely reproduce the existing
 shrinkwrap.</li>
 <li>Validate that the package works as expected with the new
 dependencies.</li>
-<li>Run <code>npm shrinkwrap</code>, commit the new npm-shrinkwrap.json, and
+<li>Run <code>npm shrinkwrap</code>, commit the new <code>npm-shrinkwrap.json</code>, and
 publish your package.</li>
 </ol>
 <p>You can use <a href="../cli/npm-outdated.html">npm-outdated(1)</a> to view dependencies with newer versions
 available.</p>
 <h3 id="other-notes">Other Notes</h3>
-<p>A shrinkwrap file must be consistent with the package&#39;s package.json
+<p>A shrinkwrap file must be consistent with the package&#39;s <code>package.json</code>
 file. <code>npm shrinkwrap</code> will fail if required dependencies are not
 already installed, since that would result in a shrinkwrap that
 wouldn&#39;t actually work. Similarly, the command will fail if there are
-extraneous packages (not referenced by package.json), since that would
-indicate that package.json is not correct.</p>
+extraneous packages (not referenced by <code>package.json</code>), since that would
+indicate that <code>package.json</code> is not correct.</p>
 <p>Since <code>npm shrinkwrap</code> is intended to lock down your dependencies for
 production use, <code>devDependencies</code> will not be included unless you
 explicitly set the <code>--dev</code> flag when you run <code>npm shrinkwrap</code>.  If
diff --git a/deps/npm/html/partial/doc/cli/npm-submodule.html b/deps/npm/html/partial/doc/cli/npm-submodule.html
new file mode 100644 (file)
index 0000000..dd7c7e8
--- /dev/null
@@ -0,0 +1,21 @@
+<h1><a href="../cli/npm-submodule.html">npm-submodule</a></h1> <p>Add a package as a git submodule</p>
+<h2 id="synopsis">SYNOPSIS</h2>
+<pre><code>npm submodule &lt;pkg&gt;
+</code></pre><h2 id="description">DESCRIPTION</h2>
+<p>If the specified package has a git repository url in its package.json
+description, then this command will add it as a git submodule at
+<code>node_modules/&lt;pkg name&gt;</code>.</p>
+<p>This is a convenience only.  From then on, it&#39;s up to you to manage
+updates by using the appropriate git commands.  npm will stubbornly
+refuse to update, modify, or remove anything with a <code>.git</code> subfolder
+in it.</p>
+<p>This command also does not install missing dependencies, if the package
+does not include them in its git repository.  If <code>npm ls</code> reports that
+things are missing, you can either install, link, or submodule them yourself,
+or you can do <code>npm explore &lt;pkgname&gt; -- npm install</code> to install the
+dependencies into the submodule folder.</p>
+<h2 id="see-also">SEE ALSO</h2>
+<ul>
+<li><a href="../files/package.json.html">package.json(5)</a></li>
+<li>git help submodule</li>
+</ul>
index e446006..515f19a 100644 (file)
@@ -28,6 +28,12 @@ user: &quot;isaacs (http://blog.izs.me/) &lt;i@izs.me&gt;&quot;
 2048-bit RSA key, ID 6C481CF6, created 2010-08-31
 
 Enter passphrase:
+</code></pre><p>If &quot;preversion&quot;, &quot;version&quot;, &quot;postversion&quot; in the &quot;scripts&quot; property of
+the package.json, it will execute by running <code>npm version</code>. preversion
+and version ware executed before bump the package version, postversion
+was executed after bump the package version. For example to run <code>npm version</code>
+after passed all test:</p>
+<pre><code>&quot;scripts&quot;: { &quot;preversion&quot;: &quot;npm test&quot; }
 </code></pre><h2 id="configuration">CONFIGURATION</h2>
 <h3 id="git-tag-version">git-tag-version</h3>
 <ul>
@@ -38,6 +44,8 @@ Enter passphrase:
 <h2 id="see-also">SEE ALSO</h2>
 <ul>
 <li><a href="../cli/npm-init.html">npm-init(1)</a></li>
+<li><a href="../cli/npm-run-script.html">npm-run-script(1)</a></li>
+<li><a href="../misc/npm-scripts.html">npm-scripts(7)</a></li>
 <li><a href="../files/package.json.html">package.json(5)</a></li>
 <li><a href="../misc/semver.html">semver(7)</a></li>
 <li><a href="../misc/config.html">config(7)</a></li>
index da99841..fd5ef43 100644 (file)
@@ -2,7 +2,7 @@
 <h2 id="synopsis">SYNOPSIS</h2>
 <pre><code>npm &lt;command&gt; [args]
 </code></pre><h2 id="version">VERSION</h2>
-<p>2.10.1</p>
+<p>2.11.0</p>
 <h2 id="description">DESCRIPTION</h2>
 <p>npm is the package manager for the Node JavaScript platform.  It puts
 modules in place so that node can find them, and manages dependency
@@ -99,7 +99,7 @@ easily by doing <code>npm view npm contributors</code>.</p>
 the issues list or ask on the mailing list.</p>
 <ul>
 <li><a href="http://github.com/npm/npm/issues">http://github.com/npm/npm/issues</a></li>
-<li><a href="&#x6d;&#97;&#x69;&#108;&#x74;&#x6f;&#58;&#110;&#112;&#109;&#x2d;&#x40;&#x67;&#111;&#x6f;&#103;&#108;&#x65;&#x67;&#114;&#111;&#117;&#x70;&#115;&#x2e;&#99;&#x6f;&#x6d;">&#110;&#112;&#109;&#x2d;&#x40;&#x67;&#111;&#x6f;&#103;&#108;&#x65;&#x67;&#114;&#111;&#117;&#x70;&#115;&#x2e;&#99;&#x6f;&#x6d;</a></li>
+<li><a href="&#x6d;&#x61;&#x69;&#x6c;&#x74;&#x6f;&#x3a;&#110;&#112;&#109;&#x2d;&#x40;&#103;&#x6f;&#x6f;&#x67;&#108;&#101;&#103;&#114;&#x6f;&#x75;&#112;&#115;&#46;&#x63;&#111;&#109;">&#110;&#112;&#109;&#x2d;&#x40;&#103;&#x6f;&#x6f;&#x67;&#108;&#101;&#103;&#114;&#x6f;&#x75;&#112;&#115;&#46;&#x63;&#111;&#109;</a></li>
 </ul>
 <h2 id="bugs">BUGS</h2>
 <p>When you find issues, please report them:</p>
@@ -107,7 +107,7 @@ the issues list or ask on the mailing list.</p>
 <li>web:
 <a href="http://github.com/npm/npm/issues">http://github.com/npm/npm/issues</a></li>
 <li>email:
-<a href="&#x6d;&#x61;&#105;&#108;&#116;&#111;&#x3a;&#110;&#x70;&#109;&#x2d;&#64;&#x67;&#111;&#111;&#103;&#108;&#101;&#x67;&#114;&#x6f;&#x75;&#x70;&#115;&#46;&#x63;&#111;&#109;">&#110;&#x70;&#109;&#x2d;&#64;&#x67;&#111;&#111;&#103;&#108;&#101;&#x67;&#114;&#x6f;&#x75;&#x70;&#115;&#46;&#x63;&#111;&#109;</a></li>
+<a href="&#109;&#97;&#105;&#x6c;&#x74;&#111;&#58;&#110;&#112;&#109;&#45;&#x40;&#x67;&#x6f;&#x6f;&#x67;&#x6c;&#101;&#x67;&#x72;&#x6f;&#117;&#112;&#x73;&#x2e;&#99;&#111;&#x6d;">&#110;&#112;&#109;&#45;&#x40;&#x67;&#x6f;&#x6f;&#x67;&#x6c;&#101;&#x67;&#x72;&#x6f;&#117;&#112;&#x73;&#x2e;&#99;&#111;&#x6d;</a></li>
 </ul>
 <p>Be sure to include <em>all</em> of the output from the npm command that didn&#39;t work
 as expected.  The <code>npm-debug.log</code> file is also helpful to provide.</p>
@@ -117,7 +117,7 @@ will no doubt tell you to put the output in a gist or email.</p>
 <p><a href="http://blog.izs.me/">Isaac Z. Schlueter</a> ::
 <a href="https://github.com/isaacs/">isaacs</a> ::
 <a href="http://twitter.com/izs">@izs</a> ::
-<a href="&#109;&#97;&#x69;&#x6c;&#116;&#x6f;&#x3a;&#x69;&#64;&#105;&#x7a;&#115;&#46;&#109;&#101;">&#x69;&#64;&#105;&#x7a;&#115;&#46;&#109;&#101;</a></p>
+<a href="&#109;&#x61;&#x69;&#x6c;&#x74;&#x6f;&#58;&#x69;&#x40;&#105;&#122;&#115;&#46;&#x6d;&#101;">&#x69;&#x40;&#105;&#122;&#115;&#46;&#x6d;&#101;</a></p>
 <h2 id="see-also">SEE ALSO</h2>
 <ul>
 <li><a href="../cli/npm-help.html">npm-help(1)</a></li>
index ed9e224..6d327a8 100644 (file)
@@ -2,7 +2,7 @@
 <h2 id="synopsis">SYNOPSIS</h2>
 <ol>
 <li>Get the author email with <code>npm owner ls &lt;pkgname&gt;</code></li>
-<li>Email the author, CC <a href="&#x6d;&#97;&#x69;&#108;&#116;&#111;&#x3a;&#115;&#117;&#x70;&#112;&#x6f;&#x72;&#x74;&#64;&#x6e;&#112;&#109;&#x6a;&#x73;&#46;&#x63;&#111;&#x6d;">&#115;&#117;&#x70;&#112;&#x6f;&#x72;&#x74;&#64;&#x6e;&#112;&#109;&#x6a;&#x73;&#46;&#x63;&#111;&#x6d;</a></li>
+<li>Email the author, CC <a href="&#x6d;&#97;&#105;&#108;&#x74;&#x6f;&#x3a;&#115;&#117;&#x70;&#112;&#x6f;&#x72;&#x74;&#64;&#110;&#x70;&#109;&#x6a;&#115;&#x2e;&#x63;&#x6f;&#109;">&#115;&#117;&#x70;&#112;&#x6f;&#x72;&#x74;&#64;&#110;&#x70;&#109;&#x6a;&#115;&#x2e;&#x63;&#x6f;&#109;</a></li>
 <li>After a few weeks, if there&#39;s no resolution, we&#39;ll sort it out.</li>
 </ol>
 <p>Don&#39;t squat on package names.  Publish code or move out of the way.</p>
@@ -40,12 +40,12 @@ Joe&#39;s appropriate course of action in each case is the same.</p>
 owner (Bob).</li>
 <li>Joe emails Bob, explaining the situation <strong>as respectfully as
 possible</strong>, and what he would like to do with the module name.  He
-adds the npm support staff <a href="&#109;&#x61;&#105;&#x6c;&#116;&#111;&#x3a;&#115;&#x75;&#112;&#112;&#111;&#x72;&#x74;&#x40;&#x6e;&#112;&#109;&#106;&#x73;&#46;&#x63;&#111;&#109;">&#115;&#x75;&#112;&#112;&#111;&#x72;&#x74;&#x40;&#x6e;&#112;&#109;&#106;&#x73;&#46;&#x63;&#111;&#109;</a> to the CC list of
+adds the npm support staff <a href="&#x6d;&#97;&#105;&#108;&#116;&#111;&#x3a;&#x73;&#x75;&#112;&#112;&#111;&#114;&#116;&#64;&#x6e;&#x70;&#x6d;&#x6a;&#x73;&#x2e;&#99;&#111;&#109;">&#x73;&#x75;&#112;&#112;&#111;&#114;&#116;&#64;&#x6e;&#x70;&#x6d;&#x6a;&#x73;&#x2e;&#99;&#111;&#109;</a> to the CC list of
 the email.  Mention in the email that Bob can run <code>npm owner add
 joe foo</code> to add Joe as an owner of the <code>foo</code> package.</li>
 <li>After a reasonable amount of time, if Bob has not responded, or if
 Bob and Joe can&#39;t come to any sort of resolution, email support
-<a href="&#x6d;&#x61;&#x69;&#x6c;&#116;&#x6f;&#x3a;&#x73;&#117;&#x70;&#112;&#x6f;&#x72;&#x74;&#x40;&#x6e;&#x70;&#x6d;&#x6a;&#115;&#x2e;&#99;&#111;&#109;">&#x73;&#117;&#x70;&#112;&#x6f;&#x72;&#x74;&#x40;&#x6e;&#x70;&#x6d;&#x6a;&#115;&#x2e;&#99;&#111;&#109;</a> and we&#39;ll sort it out.  (&quot;Reasonable&quot; is
+<a href="&#109;&#x61;&#105;&#x6c;&#116;&#111;&#x3a;&#115;&#117;&#x70;&#x70;&#111;&#x72;&#116;&#x40;&#x6e;&#112;&#x6d;&#x6a;&#115;&#x2e;&#99;&#x6f;&#x6d;">&#115;&#117;&#x70;&#x70;&#111;&#x72;&#116;&#x40;&#x6e;&#112;&#x6d;&#x6a;&#115;&#x2e;&#99;&#x6f;&#x6d;</a> and we&#39;ll sort it out.  (&quot;Reasonable&quot; is
 usually at least 4 weeks, but extra time is allowed around common
 holidays.)</li>
 </ol>
index 5dedebd..0459458 100644 (file)
@@ -225,7 +225,7 @@ that has a package.json in its root, or a git url.
 <p>To check if the registry is down, open up
 <a href="https://registry.npmjs.org/">https://registry.npmjs.org/</a> in a web browser.  This will also tell
 you if you are just unable to access the internet for some reason.</p>
-<p>If the registry IS down, let us know by emailing <a href="&#109;&#x61;&#105;&#x6c;&#x74;&#111;&#58;&#115;&#117;&#112;&#112;&#111;&#x72;&#116;&#x40;&#110;&#112;&#109;&#x6a;&#115;&#46;&#99;&#x6f;&#x6d;">&#115;&#117;&#112;&#112;&#111;&#x72;&#116;&#x40;&#110;&#112;&#109;&#x6a;&#115;&#46;&#99;&#x6f;&#x6d;</a>
+<p>If the registry IS down, let us know by emailing <a href="&#x6d;&#97;&#x69;&#108;&#116;&#111;&#58;&#115;&#117;&#x70;&#x70;&#x6f;&#x72;&#x74;&#x40;&#110;&#112;&#x6d;&#x6a;&#x73;&#46;&#99;&#111;&#x6d;">&#115;&#117;&#x70;&#x70;&#x6f;&#x72;&#x74;&#x40;&#110;&#112;&#x6d;&#x6a;&#x73;&#46;&#99;&#111;&#x6d;</a>
 or posting an issue at <a href="https://github.com/npm/npm/issues">https://github.com/npm/npm/issues</a>.  If it&#39;s
 down for the world (and not just on your local network) then we&#39;re
 probably already being pinged about it.</p>
@@ -233,19 +233,19 @@ probably already being pinged about it.</p>
 on Freenode IRC.</p>
 <h2 id="why-no-namespaces-">Why no namespaces?</h2>
 <p>npm has only one global namespace.  If you want to namespace your own packages,
-you may: simply use the <code>-</code> character to separate the names.  npm is a mostly
-anarchic system.  There is not sufficient need to impose namespace rules on
-everyone.</p>
+you may: simply use the <code>-</code> character to separate the names or use scoped
+packages.  npm is a mostly anarchic system.  There is not sufficient need to
+impose namespace rules on everyone.</p>
 <p>As of 2.0, npm supports scoped packages, which allow you to publish a group of
 related modules without worrying about name collisions.</p>
 <p>Every npm user owns the scope associated with their username.  For example, the
 user named <code>npm</code> owns the scope <code>@npm</code>.  Scoped packages are published inside a
 scope by naming them as if they were files under the scope directory, e.g., by
 setting <code>name</code> in <code>package.json</code> to <code>@npm/npm</code>.</p>
-<p>Scoped packages can coexist with public npm packages in a private npm registry.
-At present (2014-11-04) scoped packages may NOT be published to the public npm
-registry.</p>
-<p>Unscoped packages can only depend on other unscoped packages.  Scoped packages
+<p>Scoped packages are supported by the public npm registry. The npm client is
+backwards-compatible with un-scoped registries, so it can be used to work with
+scoped and un-scoped registries at the same time.</p>
+<p>Unscoped packages can only depend on other unscoped packages. Scoped packages
 can depend on packages from their own scope, a different scope, or the public
 registry (unscoped).</p>
 <p>For the current documentation of scoped packages, see
index 8a152f3..f4ce322 100644 (file)
@@ -16,6 +16,10 @@ Run AFTER the package is installed.</li>
 Run BEFORE the package is uninstalled.</li>
 <li>postuninstall:
 Run AFTER the package is uninstalled.</li>
+<li>preversion, version:
+Run BEFORE bump the package version.</li>
+<li>postversion:
+Run AFTER bump the package version.</li>
 <li>pretest, test, posttest:
 Run by the <code>npm test</code> command.</li>
 <li>prestop, stop, poststop:
index 1c80ab5..6ffb286 100644 (file)
@@ -12,6 +12,7 @@ var cbCalled = false
   , rollbacks = npm.rollbacks
   , chain = require("slide").chain
   , writeStream = require("fs-write-stream-atomic")
+  , nameValidator = require("validate-npm-package-name")
 
 
 process.on("exit", function (code) {
@@ -216,8 +217,21 @@ function errorHandler (er) {
   case "E404":
     var msg = [er.message]
     if (er.pkgid && er.pkgid !== "-") {
-      msg.push("", "'"+er.pkgid+"' is not in the npm registry."
-              ,"You should bug the author to publish it (or use the name yourself!)")
+      msg.push("", "'" + er.pkgid + "' is not in the npm registry.")
+
+      var valResult = nameValidator(er.pkgid)
+
+      if (valResult.validForNewPackages) {
+        msg.push("You should bug the author to publish it (or use the name yourself!)")
+      } else {
+        msg.push("Your package name is not valid, because", "")
+
+        var errorsArray = (valResult.errors || []).concat(valResult.warnings || [])
+        errorsArray.forEach(function(item, idx) {
+          msg.push(" " + (idx + 1) + ". " + item)
+        })
+      }
+
       if (er.parent) {
         msg.push("It was specified as a dependency of '"+er.parent+"'")
       }
index 294cfd6..b42c901 100644 (file)
@@ -11,6 +11,7 @@ var semver = require("semver")
   , npm = require("./npm.js")
   , git = require("./utils/git.js")
   , assert = require("assert")
+  , lifecycle = require("./utils/lifecycle.js")
 
 version.usage = "npm version [<newversion> | major | minor | patch | prerelease | preminor | premajor ]\n"
               + "\n(run in package dir)\n"
@@ -26,11 +27,6 @@ function version (args, silent, cb_) {
 
   var packagePath = path.join(npm.localPrefix, "package.json")
   fs.readFile(packagePath, function (er, data) {
-    function cb (er) {
-      if (!er && !silent) console.log("v" + data.version)
-      cb_(er)
-    }
-
     if (data) data = data.toString()
     try {
       data = JSON.parse(data)
@@ -52,17 +48,30 @@ function version (args, silent, cb_) {
     if (data.version === newVersion) return cb_(new Error("Version not changed"))
     data.version = newVersion
 
-    checkGit(function (er, hasGit) {
-      if (er) return cb_(er)
+    chain([
+          [lifecycle, data, "preversion"]
+        , [version_, data, silent]
+        , [lifecycle, data, "version"]
+        , [lifecycle, data, "postversion"] ]
+        , cb_)
+  })
+}
+
+function version_ (data, silent, cb_) {
+  function cb (er) {
+    if (!er && !silent) console.log("v" + data.version)
+    cb_(er)
+  }
 
-      write(data, "package.json", function (er) {
-        if (er) return cb_(er)
+  checkGit(function (er, hasGit) {
+    if (er) return cb(new Error(er))
 
-        updateShrinkwrap(newVersion, function (er, hasShrinkwrap) {
-          if (er || !hasGit) return cb(er)
+    write(data, "package.json", function (er) {
+      if (er) return cb(new Error(er))
 
-          commit(data.version, hasShrinkwrap, cb)
-        })
+      updateShrinkwrap(data.version, function (er, hasShrinkwrap) {
+        if (er || !hasGit) return cb(er)
+        commit(data.version, hasShrinkwrap, cb)
       })
     })
   })
index 09ffc12..c0aa54f 100644 (file)
@@ -133,16 +133,23 @@ this means that future npm installs will not remember the settings that
 you have chosen\.
 .SH Using npm Programmatically
 .P
-If you would like to use npm programmatically, you can do that\.
-It's not very well documented, but it \fIis\fR rather simple\.
-.P
-Most of the time, unless you actually want to do all the things that
-npm does, you should try using one of npm's dependencies rather than
-using npm itself, if possible\.
-.P
-Eventually, npm will be just a thin cli wrapper around the modules
-that it depends on, but for now, there are some things that you must
-use npm itself to do\.
+Although npm can be used programmatically, its API is meant for use by the CLI
+\fIonly\fR, and no guarantees are made regarding its fitness for any other purpose\.
+If you want to use npm to reliably perform some task, the safest thing to do is
+to invoke the desired \fBnpm\fR command with appropriate arguments\.
+.P
+The semantic version of npm refers to the CLI itself, rather than the
+underlying API\. \fIThe internal API is not guaranteed to remain stable even when
+npm's version indicates no breaking changes have been made according to
+semver\.\fR
+.P
+If you \fIstill\fR would like to use npm programmatically, it's \fIpossible\fR\|\. The API
+isn't very well documented, but it \fIis\fR rather simple\.
+.P
+Eventually, npm will be just a thin CLI wrapper around the modules that it
+depends on, but for now, there are some things that only the CLI can do\. You
+should try using one of npm's dependencies first, and only use the API if what
+you're trying to do is only supported by npm itself\.
 .P
 .RS 2
 .nf
index 32f13d8..8b6510c 100644 (file)
@@ -23,7 +23,7 @@ For example, running \fBnpm ls promzard\fR in npm's source tree will show:
 .P
 .RS 2
 .nf
-npm@2.10.1 /path/to/npm
+npm@2.11.0 /path/to/npm
 └─┬ init\-package\-json@0\.0\.4
   └── promzard@0\.1\.5
 .fi
index 98440e0..9124d26 100644 (file)
@@ -16,14 +16,14 @@ used when your package is installed\. The \fBpackage\.json\fR file is still
 required if you want to use \fBnpm install\fR\|\.
 .P
 By default, \fBnpm install\fR recursively installs the target's
-dependencies (as specified in package\.json), choosing the latest
+dependencies (as specified in \fBpackage\.json\fR), choosing the latest
 available version that satisfies the dependency's semver pattern\. In
 some situations, particularly when shipping software where each change
 is tightly managed, it's desirable to fully specify each version of
 each dependency recursively so that subsequent builds and deploys do
 not inadvertently pick up newer versions of a dependency that satisfy
 the semver pattern\. Specifying specific semver patterns in each
-dependency's package\.json would facilitate this, but that's not always
+dependency's \fBpackage\.json\fR would facilitate this, but that's not always
 possible or desirable, as when another author owns the npm package\.
 It's also possible to check dependencies directly into source control,
 but that may be undesirable for other reasons\.
@@ -61,7 +61,7 @@ and package C:
 .RS 2
 .nf
 {
-  "name": "C,
+  "name": "C",
   "version": "0\.0\.1"
 }
 .fi
@@ -105,7 +105,7 @@ npm shrinkwrap
 .fi
 .RE
 .P
-This generates npm\-shrinkwrap\.json, which will look something like this:
+This generates \fBnpm\-shrinkwrap\.json\fR, which will look something like this:
 .P
 .RS 2
 .nf
@@ -128,18 +128,18 @@ This generates npm\-shrinkwrap\.json, which will look something like this:
 .P
 The shrinkwrap command has locked down the dependencies based on
 what's currently installed in node_modules\.  When \fBnpm install\fR
-installs a package with a npm\-shrinkwrap\.json file in the package
-root, the shrinkwrap file (rather than package\.json files) completely
+installs a package with an \fBnpm\-shrinkwrap\.json\fR in the package
+root, the shrinkwrap file (rather than \fBpackage\.json\fR files) completely
 drives the installation of that package and all of its dependencies
 (recursively)\.  So now the author publishes A@0\.1\.0, and subsequent
 installs of this package will use B@0\.0\.1 and C@0\.0\.1, regardless the
-dependencies and versions listed in A's, B's, and C's package\.json
+dependencies and versions listed in A's, B's, and C's \fBpackage\.json\fR
 files\.
 .SS Using shrinkwrapped packages
 .P
 Using a shrinkwrapped package is no different than using any other
 package: you can \fBnpm install\fR it by hand, or add a dependency to your
-package\.json file and \fBnpm install\fR it\.
+\fBpackage\.json\fR file and \fBnpm install\fR it\.
 .SS Building shrinkwrapped packages
 .P
 To shrinkwrap an existing package:
@@ -150,7 +150,7 @@ versions of all dependencies\.
 .IP 2. 3
 Validate that the package works as expected with these versions\.
 .IP 3. 3
-Run \fBnpm shrinkwrap\fR, add npm\-shrinkwrap\.json to git, and publish
+Run \fBnpm shrinkwrap\fR, add \fBnpm\-shrinkwrap\.json\fR to git, and publish
 your package\.
 
 .RE
@@ -162,7 +162,7 @@ Run \fBnpm install\fR in the package root to install the current
 versions of all dependencies\.
 .IP 2. 3
 Add or update dependencies\. \fBnpm install\fR each new or updated
-package individually and then update package\.json\.  Note that they
+package individually and then update \fBpackage\.json\fR\|\.  Note that they
 must be explicitly named in order to be installed: running \fBnpm
 install\fR with no arguments will merely reproduce the existing
 shrinkwrap\.
@@ -170,7 +170,7 @@ shrinkwrap\.
 Validate that the package works as expected with the new
 dependencies\.
 .IP 4. 3
-Run \fBnpm shrinkwrap\fR, commit the new npm\-shrinkwrap\.json, and
+Run \fBnpm shrinkwrap\fR, commit the new \fBnpm\-shrinkwrap\.json\fR, and
 publish your package\.
 
 .RE
@@ -179,12 +179,12 @@ You can use npm help outdated to view dependencies with newer versions
 available\.
 .SS Other Notes
 .P
-A shrinkwrap file must be consistent with the package's package\.json
+A shrinkwrap file must be consistent with the package's \fBpackage\.json\fR
 file\. \fBnpm shrinkwrap\fR will fail if required dependencies are not
 already installed, since that would result in a shrinkwrap that
 wouldn't actually work\. Similarly, the command will fail if there are
-extraneous packages (not referenced by package\.json), since that would
-indicate that package\.json is not correct\.
+extraneous packages (not referenced by \fBpackage\.json\fR), since that would
+indicate that \fBpackage\.json\fR is not correct\.
 .P
 Since \fBnpm shrinkwrap\fR is intended to lock down your dependencies for
 production use, \fBdevDependencies\fR will not be included unless you
diff --git a/deps/npm/man/man1/npm-submodule.1 b/deps/npm/man/man1/npm-submodule.1
new file mode 100644 (file)
index 0000000..771f0c0
--- /dev/null
@@ -0,0 +1,41 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-SUBMODULE" "1" "September 2014" "" ""
+.
+.SH "NAME"
+\fBnpm-submodule\fR \-\- Add a package as a git submodule
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm submodule <pkg>
+.
+.fi
+.
+.SH "DESCRIPTION"
+If the specified package has a git repository url in its package\.json
+description, then this command will add it as a git submodule at \fBnode_modules/<pkg name>\fR\|\.
+.
+.P
+This is a convenience only\.  From then on, it\'s up to you to manage
+updates by using the appropriate git commands\.  npm will stubbornly
+refuse to update, modify, or remove anything with a \fB\|\.git\fR subfolder
+in it\.
+.
+.P
+This command also does not install missing dependencies, if the package
+does not include them in its git repository\.  If \fBnpm ls\fR reports that
+things are missing, you can either install, link, or submodule them yourself,
+or you can do \fBnpm explore <pkgname> \-\- npm install\fR to install the
+dependencies into the submodule folder\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help 5 package\.json
+.
+.IP "\(bu" 4
+git help submodule
+.
+.IP "" 0
index 8fbfd4d..914adff 100644 (file)
@@ -50,6 +50,18 @@ user: "isaacs (http://blog\.izs\.me/) <i@izs\.me>"
 Enter passphrase:
 .fi
 .RE
+.P
+If "preversion", "version", "postversion" in the "scripts" property of
+the package\.json, it will execute by running \fBnpm version\fR\|\. preversion
+and version ware executed before bump the package version, postversion
+was executed after bump the package version\. For example to run \fBnpm version\fR
+after passed all test:
+.P
+.RS 2
+.nf
+"scripts": { "preversion": "npm test" }
+.fi
+.RE
 .SH CONFIGURATION
 .SS git\-tag\-version
 .RS 0
@@ -66,6 +78,10 @@ Commit and tag the version change\.
 .IP \(bu 2
 npm help init
 .IP \(bu 2
+npm help run\-script
+.IP \(bu 2
+npm help 7 scripts
+.IP \(bu 2
 npm help 5 package\.json
 .IP \(bu 2
 npm help 7 semver
index 9305fef..27b0a03 100644 (file)
@@ -10,7 +10,7 @@ npm <command> [args]
 .RE
 .SH VERSION
 .P
-2.10.1
+2.11.0
 .SH DESCRIPTION
 .P
 npm is the package manager for the Node JavaScript platform\.  It puts
diff --git a/deps/npm/man/man3/npm-submodule.3 b/deps/npm/man/man3/npm-submodule.3
new file mode 100644 (file)
index 0000000..d2e23d7
--- /dev/null
@@ -0,0 +1,41 @@
+.\" Generated with Ronnjs 0.3.8
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-SUBMODULE" "3" "September 2014" "" ""
+.
+.SH "NAME"
+\fBnpm-submodule\fR \-\- Add a package as a git submodule
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.submodule(packages, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+For each package specified, npm will check if it has a git repository url
+in its package\.json description then add it as a git submodule at \fBnode_modules/<pkg name>\fR\|\.
+.
+.P
+This is a convenience only\.  From then on, it\'s up to you to manage
+updates by using the appropriate git commands\.  npm will stubbornly
+refuse to update, modify, or remove anything with a \fB\|\.git\fR subfolder
+in it\.
+.
+.P
+This command also does not install missing dependencies, if the package
+does not include them in its git repository\.  If \fBnpm ls\fR reports that
+things are missing, you can either install, link, or submodule them yourself,
+or you can do \fBnpm explore <pkgname> \-\- npm install\fR to install the
+dependencies into the submodule folder\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "\(bu" 4
+git help submodule
+.
+.IP "" 0
index 7fd9d79..0c41d2a 100644 (file)
@@ -20,7 +20,7 @@ npm\.load([configObject, ]function (er, npm) {
 .RE
 .SH VERSION
 .P
-2.10.1
+2.11.0
 .SH DESCRIPTION
 .P
 This is the API documentation for npm\.
index 30391e7..6958109 100644 (file)
@@ -351,9 +351,9 @@ on Freenode IRC\.
 .SH Why no namespaces?
 .P
 npm has only one global namespace\.  If you want to namespace your own packages,
-you may: simply use the \fB\-\fR character to separate the names\.  npm is a mostly
-anarchic system\.  There is not sufficient need to impose namespace rules on
-everyone\.
+you may: simply use the \fB\-\fR character to separate the names or use scoped
+packages\.  npm is a mostly anarchic system\.  There is not sufficient need to
+impose namespace rules on everyone\.
 .P
 As of 2\.0, npm supports scoped packages, which allow you to publish a group of
 related modules without worrying about name collisions\.
@@ -363,11 +363,11 @@ user named \fBnpm\fR owns the scope \fB@npm\fR\|\.  Scoped packages are publishe
 scope by naming them as if they were files under the scope directory, e\.g\., by
 setting \fBname\fR in \fBpackage\.json\fR to \fB@npm/npm\fR\|\.
 .P
-Scoped packages can coexist with public npm packages in a private npm registry\.
-At present (2014\-11\-04) scoped packages may NOT be published to the public npm
-registry\.
+Scoped packages are supported by the public npm registry\. The npm client is
+backwards\-compatible with un\-scoped registries, so it can be used to work with
+scoped and un\-scoped registries at the same time\.
 .P
-Unscoped packages can only depend on other unscoped packages\.  Scoped packages
+Unscoped packages can only depend on other unscoped packages\. Scoped packages
 can depend on packages from their own scope, a different scope, or the public
 registry (unscoped)\.
 .P
index 46ab09e..055b5bf 100644 (file)
@@ -26,6 +26,12 @@ Run BEFORE the package is uninstalled\.
 postuninstall:
 Run AFTER the package is uninstalled\.
 .IP \(bu 2
+preversion, version:
+Run BEFORE bump the package version\.
+.IP \(bu 2
+postversion:
+Run AFTER bump the package version\.
+.IP \(bu 2
 pretest, test, posttest:
 Run by the \fBnpm test\fR command\.
 .IP \(bu 2
index 05a4010..19129e3 100644 (file)
@@ -1,23 +1,15 @@
-Copyright 2009, 2010, 2011 Isaac Z. Schlueter.
-All rights reserved.
+The ISC License
 
-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:
+Copyright (c) Isaac Z. Schlueter and Contributors
 
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
 
-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.
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
index bac363a..c94731f 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "abbrev",
-  "version": "1.0.5",
+  "version": "1.0.6",
   "description": "Like ruby's abbrev module, but in js",
   "author": {
     "name": "Isaac Z. Schlueter",
   },
   "repository": {
     "type": "git",
-    "url": "http://github.com/isaacs/abbrev-js"
-  },
-  "license": {
-    "type": "MIT",
-    "url": "https://github.com/isaacs/abbrev-js/raw/master/LICENSE"
+    "url": "git+ssh://git@github.com/isaacs/abbrev-js.git"
   },
+  "license": "ISC",
+  "gitHead": "648a6735d9c5a7a04885e3ada49eed4db36181c2",
   "bugs": {
     "url": "https://github.com/isaacs/abbrev-js/issues"
   },
-  "homepage": "https://github.com/isaacs/abbrev-js",
-  "_id": "abbrev@1.0.5",
-  "_shasum": "5d8257bd9ebe435e698b2fa431afde4fe7b10b03",
-  "_from": "abbrev@latest",
-  "_npmVersion": "1.4.7",
+  "homepage": "https://github.com/isaacs/abbrev-js#readme",
+  "_id": "abbrev@1.0.6",
+  "_shasum": "b6d632b859b3fa2d6f7e4b195472461b9e32dc30",
+  "_from": "abbrev@1.0.6",
+  "_npmVersion": "2.10.0",
+  "_nodeVersion": "2.0.1",
   "_npmUser": {
     "name": "isaacs",
-    "email": "i@izs.me"
+    "email": "isaacs@npmjs.com"
+  },
+  "dist": {
+    "shasum": "b6d632b859b3fa2d6f7e4b195472461b9e32dc30",
+    "tarball": "http://registry.npmjs.org/abbrev/-/abbrev-1.0.6.tgz"
   },
   "maintainers": [
     {
       "email": "i@izs.me"
     }
   ],
-  "dist": {
-    "shasum": "5d8257bd9ebe435e698b2fa431afde4fe7b10b03",
-    "tarball": "http://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz"
-  },
   "directories": {},
-  "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz"
+  "_resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.6.tgz"
 }
diff --git a/deps/npm/node_modules/async-some/LICENSE b/deps/npm/node_modules/async-some/LICENSE
new file mode 100644 (file)
index 0000000..d21147b
--- /dev/null
@@ -0,0 +1,13 @@
+Copyright (c) 2014-2015, Forrest L Norvell
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
index d32ae73..b7d5521 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "async-some",
-  "version": "1.0.1",
+  "version": "1.0.2",
   "description": "short-circuited, asynchronous version of Array.protototype.some",
   "main": "some.js",
   "scripts": {
@@ -8,7 +8,7 @@
   },
   "repository": {
     "type": "git",
-    "url": "https://github.com/othiym23/async-some.git"
+    "url": "git+https://github.com/othiym23/async-some.git"
   },
   "keywords": [
     "async",
   },
   "homepage": "https://github.com/othiym23/async-some",
   "dependencies": {
-    "dezalgo": "^1.0.0"
+    "dezalgo": "^1.0.2"
   },
   "devDependencies": {
-    "tap": "^0.4.11"
-  },
-  "gitHead": "e73d6d1fbc03cca5a0d54f456f39bab294a4c7b7",
-  "_id": "async-some@1.0.1",
-  "_shasum": "8b54f08d46f0f9babc72ea9d646c245d23a4d9e5",
-  "_from": "async-some@>=1.0.1-0 <2.0.0-0",
-  "_npmVersion": "1.5.0-pre",
-  "_npmUser": {
-    "name": "othiym23",
-    "email": "ogd@aoaioxxysz.net"
-  },
-  "maintainers": [
-    {
-      "name": "othiym23",
-      "email": "ogd@aoaioxxysz.net"
-    }
-  ],
-  "dist": {
-    "shasum": "8b54f08d46f0f9babc72ea9d646c245d23a4d9e5",
-    "tarball": "http://registry.npmjs.org/async-some/-/async-some-1.0.1.tgz"
-  },
-  "directories": {},
-  "_resolved": "https://registry.npmjs.org/async-some/-/async-some-1.0.1.tgz",
-  "readme": "ERROR: No README data found!"
+    "tap": "^1.1.0"
+  },
+  "readme": "# some\n\nShort-circuited async Array.prototype.some implementation.\n\nSerially evaluates a list of values from a JS array or arraylike\nagainst an asynchronous predicate, terminating on the first truthy\nvalue. If the predicate encounters an error, pass it to the completion\ncallback. Otherwise, pass the truthy value passed by the predicate, or\n`false` if no truthy value was passed.\n\nIs\n[Zalgo](http://blog.izs.me/post/59142742143/designing-apis-for-asynchrony)-proof,\nbrowser-safe, and pretty efficient.\n\n## Usage\n\n```javascript\nvar some = require(\"async-some\");\nvar resolve = require(\"path\").resolve;\nvar stat = require(\"fs\").stat;\nvar readFileSync = require(\"fs\").readFileSync;\n\nsome([\"apple\", \"seaweed\", \"ham\", \"quince\"], porkDetector, function (error, match) {\n  if (error) return console.error(error);\n\n  if (match) return console.dir(JSON.parse(readFileSync(match)));\n\n  console.error(\"time to buy more Sporkle™!\");\n});\n\nvar PREFIX = resolve(__dirname, \"../pork_store\");\nfunction porkDetector(value, cb) {\n  var path = resolve(PREFIX, value + \".json\");\n  stat(path, function (er, stat) {\n    if (er) {\n      if (er.code === \"ENOENT\") return cb(null, false);\n\n      return cb(er);\n    }\n\n    cb(er, path);\n  });\n}\n```\n\n### some(list, test, callback)\n\n* `list` {Object} An arraylike (either an Array or the arguments arraylike) to\n  be checked.\n* `test` {Function} The predicate against which the elements of `list` will be\n  tested. Takes two parameters:\n  * `element` {any} The element of the list to be tested.\n  * `callback` {Function} The continuation to be called once the test is\n    complete. Takes (again) two values:\n    * `error` {Error} Any errors that the predicate encountered.\n    * `value` {any} A truthy value. A non-falsy result terminates checking the\n      entire list.\n* `callback` {Function} The callback to invoke when either a value has been\n  found or the entire input list has been processed with no result. Is invoked\n  with the traditional two parameters:\n  * `error` {Error} Errors that were encountered during the evaluation of some().\n  * `match` {any} Value successfully matched by `test`, if any.\n",
+  "readmeFilename": "README.md",
+  "gitHead": "3a5086ad54739c48b2bbf073f23bcc95658199e3",
+  "_id": "async-some@1.0.2",
+  "_shasum": "4d8a81620d5958791b5b98f802d3207776e95509",
+  "_from": "async-some@>=1.0.2 <1.1.0"
 }
diff --git a/deps/npm/node_modules/block-stream/LICENSE b/deps/npm/node_modules/block-stream/LICENSE
new file mode 100644 (file)
index 0000000..19129e3
--- /dev/null
@@ -0,0 +1,15 @@
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
index ef01167..80227bb 100644 (file)
@@ -6,7 +6,7 @@
   },
   "name": "block-stream",
   "description": "a stream of blocks",
-  "version": "0.0.7",
+  "version": "0.0.8",
   "repository": {
     "type": "git",
     "url": "git://github.com/isaacs/block-stream.git"
   "scripts": {
     "test": "tap test/"
   },
-  "license": "BSD",
-  "readme": "# block-stream\n\nA stream of blocks.\n\nWrite data into it, and it'll output data in buffer blocks the size you\nspecify, padding with zeroes if necessary.\n\n```javascript\nvar block = new BlockStream(512)\nfs.createReadStream(\"some-file\").pipe(block)\nblock.pipe(fs.createWriteStream(\"block-file\"))\n```\n\nWhen `.end()` or `.flush()` is called, it'll pad the block with zeroes.\n",
-  "readmeFilename": "README.md",
+  "license": "ISC",
+  "gitHead": "b35520314f4763af0788d65a846bb43d9c0a8f02",
   "bugs": {
     "url": "https://github.com/isaacs/block-stream/issues"
   },
-  "_id": "block-stream@0.0.7",
-  "_from": "block-stream@latest"
+  "homepage": "https://github.com/isaacs/block-stream#readme",
+  "_id": "block-stream@0.0.8",
+  "_shasum": "0688f46da2bbf9cff0c4f68225a0cb95cbe8a46b",
+  "_from": "block-stream@0.0.8",
+  "_npmVersion": "2.10.0",
+  "_nodeVersion": "2.0.1",
+  "_npmUser": {
+    "name": "isaacs",
+    "email": "isaacs@npmjs.com"
+  },
+  "dist": {
+    "shasum": "0688f46da2bbf9cff0c4f68225a0cb95cbe8a46b",
+    "tarball": "http://registry.npmjs.org/block-stream/-/block-stream-0.0.8.tgz"
+  },
+  "maintainers": [
+    {
+      "name": "isaacs",
+      "email": "i@izs.me"
+    }
+  ],
+  "directories": {},
+  "_resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.8.tgz"
 }
index 0c44ae7..19129e3 100644 (file)
@@ -1,27 +1,15 @@
-Copyright (c) Isaac Z. Schlueter ("Author")
-All rights reserved.
+The ISC License
 
-The BSD License
+Copyright (c) Isaac Z. Schlueter and Contributors
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
 
-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 AUTHOR 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 AUTHOR 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.
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
index 67334ae..e253434 100644 (file)
@@ -6,7 +6,7 @@
   },
   "name": "chmodr",
   "description": "like `chmod -R`",
-  "version": "0.1.0",
+  "version": "0.1.1",
   "repository": {
     "type": "git",
     "url": "git://github.com/isaacs/chmodr.git"
   "scripts": {
     "test": "tap test/*.js"
   },
-  "license": "BSD",
-  "readme": "Like `chmod -R`.\n\nTakes the same arguments as `fs.chmod()`\n",
-  "readmeFilename": "README.md",
-  "_id": "chmodr@0.1.0",
-  "_from": "chmodr@latest"
+  "license": "ISC",
+  "gitHead": "2f301476bc6fc93e47d2ba2e3ab0409f0d0c15ba",
+  "bugs": {
+    "url": "https://github.com/isaacs/chmodr/issues"
+  },
+  "homepage": "https://github.com/isaacs/chmodr#readme",
+  "_id": "chmodr@0.1.1",
+  "_shasum": "115c8f9ec62be3ef019085782c9448e471560261",
+  "_from": "chmodr@0.1.1",
+  "_npmVersion": "2.10.0",
+  "_nodeVersion": "2.0.1",
+  "_npmUser": {
+    "name": "isaacs",
+    "email": "isaacs@npmjs.com"
+  },
+  "dist": {
+    "shasum": "115c8f9ec62be3ef019085782c9448e471560261",
+    "tarball": "http://registry.npmjs.org/chmodr/-/chmodr-0.1.1.tgz"
+  },
+  "maintainers": [
+    {
+      "name": "isaacs",
+      "email": "i@izs.me"
+    }
+  ],
+  "directories": {},
+  "_resolved": "https://registry.npmjs.org/chmodr/-/chmodr-0.1.1.tgz"
 }
diff --git a/deps/npm/node_modules/chownr/LICENSE b/deps/npm/node_modules/chownr/LICENSE
new file mode 100644 (file)
index 0000000..19129e3
--- /dev/null
@@ -0,0 +1,15 @@
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
index bb321f8..a551c86 100644 (file)
@@ -6,7 +6,7 @@
   },
   "name": "chownr",
   "description": "like `chown -R`",
-  "version": "0.0.1",
+  "version": "0.0.2",
   "repository": {
     "type": "git",
     "url": "git://github.com/isaacs/chownr.git"
   "scripts": {
     "test": "tap test/*.js"
   },
-  "license": "BSD",
+  "license": "ISC",
+  "gitHead": "3cafeb70b2c343e893f710750406b3909ec537cb",
+  "bugs": {
+    "url": "https://github.com/isaacs/chownr/issues"
+  },
+  "homepage": "https://github.com/isaacs/chownr#readme",
+  "_id": "chownr@0.0.2",
+  "_shasum": "2f9aebf746f90808ce00607b72ba73b41604c485",
+  "_from": "chownr@0.0.2",
+  "_npmVersion": "2.10.0",
+  "_nodeVersion": "2.0.1",
   "_npmUser": {
     "name": "isaacs",
-    "email": "i@izs.me"
-  },
-  "_id": "chownr@0.0.1",
-  "dependencies": {},
-  "optionalDependencies": {},
-  "engines": {
-    "node": "*"
+    "email": "isaacs@npmjs.com"
   },
-  "_engineSupported": true,
-  "_npmVersion": "1.1.23",
-  "_nodeVersion": "v0.7.10-pre",
-  "_defaultsLoaded": true,
   "dist": {
-    "shasum": "51d18189d9092d5f8afd623f3288bfd1c6bf1a62"
+    "shasum": "2f9aebf746f90808ce00607b72ba73b41604c485",
+    "tarball": "http://registry.npmjs.org/chownr/-/chownr-0.0.2.tgz"
   },
-  "_from": "../chownr"
+  "maintainers": [
+    {
+      "name": "isaacs",
+      "email": "i@izs.me"
+    }
+  ],
+  "directories": {},
+  "_resolved": "https://registry.npmjs.org/chownr/-/chownr-0.0.2.tgz"
 }
diff --git a/deps/npm/node_modules/chownr/test/basic.js b/deps/npm/node_modules/chownr/test/basic.js
new file mode 100644 (file)
index 0000000..9e4f6bd
--- /dev/null
@@ -0,0 +1,84 @@
+if (!process.getuid || !process.getgid) {
+  throw new Error("Tests require getuid/getgid support")
+}
+
+var curUid = +process.getuid()
+, curGid = +process.getgid()
+, chownr = require("../")
+, test = require("tap").test
+, mkdirp = require("mkdirp")
+, rimraf = require("rimraf")
+, fs = require("fs")
+
+// sniff the 'id' command for other groups that i can legally assign to
+var exec = require("child_process").exec
+, groups
+, dirs = []
+
+exec("id", function (code, output) {
+  if (code) throw new Error("failed to run 'id' command")
+  groups = output.trim().split("groups=")[1].split(",").map(function (s) {
+    return parseInt(s, 10)
+  }).filter(function (g) {
+    return g !== curGid
+  })
+
+  console.error([curUid, groups[0]], "uid, gid")
+
+  rimraf("/tmp/chownr", function (er) {
+    if (er) throw er
+    var cnt = 5
+    for (var i = 0; i < 5; i ++) {
+      mkdirp(getDir(), then)
+    }
+    function then (er) {
+      if (er) throw er
+      if (-- cnt === 0) {
+        runTest()
+      }
+    }
+  })
+})
+
+function getDir () {
+  var dir = "/tmp/chownr"
+
+  dir += "/" + Math.floor(Math.random() * Math.pow(16,4)).toString(16)
+  dirs.push(dir)
+  dir += "/" + Math.floor(Math.random() * Math.pow(16,4)).toString(16)
+  dirs.push(dir)
+  dir += "/" + Math.floor(Math.random() * Math.pow(16,4)).toString(16)
+  dirs.push(dir)
+  return dir
+}
+
+function runTest () {
+  test("should complete successfully", function (t) {
+    console.error("calling chownr", curUid, groups[0], typeof curUid, typeof groups[0])
+    chownr("/tmp/chownr", curUid, groups[0], function (er) {
+      t.ifError(er)
+      t.end()
+    })
+  })
+
+  dirs.forEach(function (dir) {
+    test("verify "+dir, function (t) {
+      fs.stat(dir, function (er, st) {
+        if (er) {
+          t.ifError(er)
+          return t.end()
+        }
+        t.equal(st.uid, curUid, "uid should be " + curUid)
+        t.equal(st.gid, groups[0], "gid should be "+groups[0])
+        t.end()
+      })
+    })
+  })
+
+  test("cleanup", function (t) {
+    rimraf("/tmp/chownr/", function (er) {
+      t.ifError(er)
+      t.end()
+    })
+  })
+}
diff --git a/deps/npm/node_modules/chownr/test/sync.js b/deps/npm/node_modules/chownr/test/sync.js
new file mode 100644 (file)
index 0000000..2e26c56
--- /dev/null
@@ -0,0 +1,79 @@
+if (!process.getuid || !process.getgid) {
+  throw new Error("Tests require getuid/getgid support")
+}
+
+var curUid = +process.getuid()
+, curGid = +process.getgid()
+, chownr = require("../")
+, test = require("tap").test
+, mkdirp = require("mkdirp")
+, rimraf = require("rimraf")
+, fs = require("fs")
+
+// sniff the 'id' command for other groups that i can legally assign to
+var exec = require("child_process").exec
+, groups
+, dirs = []
+
+exec("id", function (code, output) {
+  if (code) throw new Error("failed to run 'id' command")
+  groups = output.trim().split("groups=")[1].split(",").map(function (s) {
+    return parseInt(s, 10)
+  }).filter(function (g) {
+    return g !== curGid
+  })
+
+  console.error([curUid, groups[0]], "uid, gid")
+
+  rimraf("/tmp/chownr", function (er) {
+    if (er) throw er
+    var cnt = 5
+    for (var i = 0; i < 5; i ++) {
+      mkdirp(getDir(), then)
+    }
+    function then (er) {
+      if (er) throw er
+      if (-- cnt === 0) {
+        runTest()
+      }
+    }
+  })
+})
+
+function getDir () {
+  var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+  var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+  var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+  var dir = "/tmp/chownr/" + [x,y,z].join("/")
+  dirs.push(dir)
+  return dir
+}
+
+function runTest () {
+  test("should complete successfully", function (t) {
+    console.error("calling chownr", curUid, groups[0], typeof curUid, typeof groups[0])
+    chownr.sync("/tmp/chownr", curUid, groups[0])
+    t.end()
+  })
+
+  dirs.forEach(function (dir) {
+    test("verify "+dir, function (t) {
+      fs.stat(dir, function (er, st) {
+        if (er) {
+          t.ifError(er)
+          return t.end()
+        }
+        t.equal(st.uid, curUid, "uid should be " + curUid)
+        t.equal(st.gid, groups[0], "gid should be "+groups[0])
+        t.end()
+      })
+    })
+  })
+
+  test("cleanup", function (t) {
+    rimraf("/tmp/chownr/", function (er) {
+      t.ifError(er)
+      t.end()
+    })
+  })
+}
diff --git a/deps/npm/node_modules/dezalgo/LICENSE b/deps/npm/node_modules/dezalgo/LICENSE
new file mode 100644 (file)
index 0000000..19129e3
--- /dev/null
@@ -0,0 +1,15 @@
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
index 311f9fc..25ffeeb 100644 (file)
@@ -14,8 +14,6 @@
     }
   ],
   "main": "asap",
-  "readme": "\n# ASAP\n\nThis `asap` CommonJS package contains a single `asap` module that\nexports a single `asap` function that executes a function **as soon as\npossible**.\n\n```javascript\nasap(function () {\n    // ...\n});\n```\n\nMore formally, ASAP provides a fast event queue that will execute tasks\nuntil it is empty before yielding to the JavaScript engine's underlying\nevent-loop.  When the event queue becomes non-empty, ASAP schedules a\nflush event, preferring for that event to occur before the JavaScript\nengine has an opportunity to perform IO tasks or rendering, thus making\nthe first task and subsequent tasks semantically indistinguishable.\nASAP uses a variety of techniques to preserve this invariant on\ndifferent versions of browsers and NodeJS.\n\nBy design, ASAP can starve the event loop on the theory that, if there\nis enough work to be done synchronously, albeit in separate events, long\nenough to starve input or output, it is a strong indicator that the\nprogram needs to push back on scheduling more work.\n\nTake care.  ASAP can sustain infinite recursive calls indefinitely\nwithout warning.  This is behaviorally equivalent to an infinite loop.\nIt will not halt from a stack overflow, but it *will* chew through\nmemory (which is an oddity I cannot explain at this time).  Just as with\ninfinite loops, you can monitor a Node process for this behavior with a\nheart-beat signal.  As with infinite loops, a very small amount of\ncaution goes a long way to avoiding problems.\n\n```javascript\nfunction loop() {\n    asap(loop);\n}\nloop();\n```\n\nASAP is distinct from `setImmediate` in that it does not suffer the\noverhead of returning a handle and being possible to cancel.  For a\n`setImmediate` shim, consider [setImmediate][].\n\n[setImmediate]: https://github.com/noblejs/setimmediate\n\nIf a task throws an exception, it will not interrupt the flushing of\nhigh-priority tasks.  The exception will be postponed to a later,\nlow-priority event to avoid slow-downs, when the underlying JavaScript\nengine will treat it as it does any unhandled exception.\n\n## Heritage\n\nASAP has been factored out of the [Q][] asynchronous promise library.\nIt originally had a naïve implementation in terms of `setTimeout`, but\n[Malte Ubl][NonBlocking] provided an insight that `postMessage` might be\nuseful for creating a high-priority, no-delay event dispatch hack.\nSince then, Internet Explorer proposed and implemented `setImmediate`.\nRobert Kratić began contributing to Q by measuring the performance of\nthe internal implementation of `asap`, paying particular attention to\nerror recovery.  Domenic, Robert, and I collectively settled on the\ncurrent strategy of unrolling the high-priority event queue internally\nregardless of what strategy we used to dispatch the potentially\nlower-priority flush event.  Domenic went on to make ASAP cooperate with\nNodeJS domains.\n\n[Q]: https://github.com/kriskowal/q\n[NonBlocking]: http://www.nonblocking.io/2011/06/windownexttick.html\n\nFor further reading, Nicholas Zakas provided a thorough article on [The\nCase for setImmediate][NCZ].\n\n[NCZ]: http://www.nczonline.net/blog/2013/07/09/the-case-for-setimmediate/\n\n## License\n\nCopyright 2009-2013 by Contributors\nMIT License (enclosed)\n\n",
-  "readmeFilename": "README.md",
   "_id": "asap@1.0.0",
   "dist": {
     "shasum": "b2a45da5fdfa20b0496fc3768cc27c12fa916a7d",
@@ -35,5 +33,6 @@
   ],
   "directories": {},
   "_shasum": "b2a45da5fdfa20b0496fc3768cc27c12fa916a7d",
-  "_resolved": "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz"
+  "_resolved": "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz",
+  "readme": "ERROR: No README data found!"
 }
index 1f63e83..656dd0c 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "dezalgo",
-  "version": "1.0.1",
+  "version": "1.0.2",
   "description": "Contain async insanity so that the dark pony lord doesn't eat souls",
   "main": "dezalgo.js",
   "directories": {
@@ -18,7 +18,7 @@
   },
   "repository": {
     "type": "git",
-    "url": "https://github.com/npm/dezalgo"
+    "url": "git+https://github.com/npm/dezalgo.git"
   },
   "keywords": [
     "async",
     "url": "https://github.com/npm/dezalgo/issues"
   },
   "homepage": "https://github.com/npm/dezalgo",
-  "gitHead": "0a5eee75c179611f8b67f663015d68bb517e57d2",
-  "_id": "dezalgo@1.0.1",
-  "_shasum": "12bde135060807900d5a7aebb607c2abb7c76937",
-  "_from": "dezalgo@latest",
-  "_npmVersion": "2.0.0",
-  "_nodeVersion": "0.10.31",
+  "gitHead": "fabfd09a9a4ad458d0c801a1dbfff2338b9bc001",
+  "_id": "dezalgo@1.0.2",
+  "_shasum": "2bc8b5a1683131764a98def7e4aa22105a688a5a",
+  "_from": "dezalgo@>=1.0.1 <1.1.0",
+  "_npmVersion": "2.10.1",
+  "_nodeVersion": "2.0.2",
   "_npmUser": {
-    "name": "isaacs",
-    "email": "i@izs.me"
+    "name": "othiym23",
+    "email": "ogd@aoaioxxysz.net"
+  },
+  "dist": {
+    "shasum": "2bc8b5a1683131764a98def7e4aa22105a688a5a",
+    "tarball": "http://registry.npmjs.org/dezalgo/-/dezalgo-1.0.2.tgz"
   },
   "maintainers": [
     {
       "name": "isaacs",
-      "email": "i@izs.me"
+      "email": "isaacs@npmjs.com"
+    },
+    {
+      "name": "othiym23",
+      "email": "ogd@aoaioxxysz.net"
     }
   ],
-  "dist": {
-    "shasum": "12bde135060807900d5a7aebb607c2abb7c76937",
-    "tarball": "http://registry.npmjs.org/dezalgo/-/dezalgo-1.0.1.tgz"
-  },
-  "_resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.1.tgz"
+  "_resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.2.tgz"
 }
diff --git a/deps/npm/node_modules/fs-vacuum/LICENSE b/deps/npm/node_modules/fs-vacuum/LICENSE
new file mode 100644 (file)
index 0000000..d07fa97
--- /dev/null
@@ -0,0 +1,13 @@
+Copyright (c) 2015, Forrest L Norvell
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
index 559b7bf..3b49354 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "fs-vacuum",
-  "version": "1.2.5",
+  "version": "1.2.6",
   "description": "recursively remove empty directories -- to a point",
   "main": "vacuum.js",
   "scripts": {
@@ -8,7 +8,7 @@
   },
   "repository": {
     "type": "git",
-    "url": "https://github.com/npm/fs-vacuum.git"
+    "url": "git+https://github.com/npm/fs-vacuum.git"
   },
   "keywords": [
     "rm",
     "path-is-inside": "^1.0.1",
     "rimraf": "^2.2.8"
   },
-  "readme": "# fs-vacuum\n\nRemove the empty branches of a directory tree, optionally up to (but not\nincluding) a specified base directory. Optionally nukes the leaf directory.\n\n## Usage\n\n```javascript\nvar logger = require(\"npmlog\");\nvar vacuum = require(\"fs-vacuum\");\n\nvar options = {\n  base  : \"/path/to/my/tree/root\",\n  purge : true,\n  log   : logger.silly.bind(logger, \"myCleanup\")\n};\n\n/* Assuming there are no other files or directories in \"out\", \"to\", or \"my\",\n * the final path will just be \"/path/to/my/tree/root\".\n */\nvacuum(\"/path/to/my/tree/root/out/to/my/files\", function (error) {\n  if (error) console.error(\"Unable to cleanly vacuum:\", error.message);\n});\n```\n# vacuum(directory, options, callback)\n\n* `directory` {String} Leaf node to remove. **Must be a directory, symlink, or file.**\n* `options` {Object}\n  * `base` {String} No directories at or above this level of the filesystem will be removed.\n  * `purge` {Boolean} If set, nuke the whole leaf directory, including its contents.\n  * `log` {Function} A logging function that takes `npmlog`-compatible argument lists.\n* `callback` {Function} Function to call once vacuuming is complete.\n  * `error` {Error} What went wrong along the way, if anything.\n",
-  "readmeFilename": "README.md",
-  "gitHead": "4911a38a65b6a6cb19fc980d18304e1cfca91fbf",
-  "_id": "fs-vacuum@1.2.5",
-  "_shasum": "a5cbaa844b4b3a7cff139f3cc90e7f7007e5fbb8",
-  "_from": "fs-vacuum@~1.2.5"
+  "gitHead": "04b5093ac6fbcc4135835fb1c4ed990dfed5a04c",
+  "_id": "fs-vacuum@1.2.6",
+  "_shasum": "860c5e4b3e3aa2a6a3cbb327c57534f3a3bff642",
+  "_from": "fs-vacuum@>=1.2.5 <1.3.0",
+  "_npmVersion": "2.10.1",
+  "_nodeVersion": "2.0.2",
+  "_npmUser": {
+    "name": "othiym23",
+    "email": "ogd@aoaioxxysz.net"
+  },
+  "dist": {
+    "shasum": "860c5e4b3e3aa2a6a3cbb327c57534f3a3bff642",
+    "tarball": "http://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.6.tgz"
+  },
+  "maintainers": [
+    {
+      "name": "othiym23",
+      "email": "ogd@aoaioxxysz.net"
+    }
+  ],
+  "directories": {},
+  "_resolved": "https://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.6.tgz"
 }
index 42a9a88..d86b8c6 100644 (file)
@@ -39,18 +39,18 @@ function cleanup (er) {
   }.bind(this))
 }
 
-function cleanupSync (er) {
+function cleanupSync () {
   try {
     fs.unlinkSync(this.__atomicTmp)
   } finally {
-    return fs.WriteStream.prototype.emit.call(this, 'error', er)
+    return
   }
 }
 
 // When we *would* emit 'close' or 'finish', instead do our stuff
 WriteStream.prototype.emit = function (ev) {
   if (ev === 'error')
-    return cleanupSync(this)
+    cleanupSync.call(this)
 
   if (ev !== 'close' && ev !== 'finish')
     return fs.WriteStream.prototype.emit.apply(this, arguments)
index 5cdd1a2..c300228 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "fs-write-stream-atomic",
-  "version": "1.0.2",
+  "version": "1.0.3",
   "description": "Like `fs.createWriteStream(...)`, but atomic.",
   "main": "index.js",
   "directories": {
     "url": "https://github.com/npm/fs-write-stream-atomic/issues"
   },
   "homepage": "https://github.com/npm/fs-write-stream-atomic",
-  "gitHead": "86b111ed1d5db84e8a9680986ef7917036b9c97b",
-  "_id": "fs-write-stream-atomic@1.0.2",
-  "_shasum": "fe0c6cec75256072b2fef8180d97e309fe3f5efb",
-  "_from": "fs-write-stream-atomic@>=1.0.2 <1.1.0",
-  "_npmVersion": "2.1.0",
-  "_nodeVersion": "0.10.31",
+  "gitHead": "78573c09271f3ec672740862dad80be3d75e1963",
+  "_id": "fs-write-stream-atomic@1.0.3",
+  "_shasum": "c8fe17f66d7d3f50e9aee59195c358e7710372cc",
+  "_from": "fs-write-stream-atomic@1.0.3",
+  "_npmVersion": "2.7.6",
+  "_nodeVersion": "1.6.2",
   "_npmUser": {
-    "name": "isaacs",
-    "email": "i@izs.me"
+    "name": "iarna",
+    "email": "me@re-becca.org"
+  },
+  "dist": {
+    "shasum": "c8fe17f66d7d3f50e9aee59195c358e7710372cc",
+    "tarball": "http://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.3.tgz"
   },
   "maintainers": [
     {
       "name": "isaacs",
       "email": "i@izs.me"
+    },
+    {
+      "name": "iarna",
+      "email": "me@re-becca.org"
     }
   ],
-  "dist": {
-    "shasum": "fe0c6cec75256072b2fef8180d97e309fe3f5efb",
-    "tarball": "http://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.2.tgz"
-  },
-  "_resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.2.tgz"
+  "_resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.3.tgz"
 }
diff --git a/deps/npm/node_modules/fs-write-stream-atomic/test/toolong.js b/deps/npm/node_modules/fs-write-stream-atomic/test/toolong.js
new file mode 100644 (file)
index 0000000..e5b2b05
--- /dev/null
@@ -0,0 +1,24 @@
+var path = require('path')
+var test = require('tap').test
+var writeStream = require('../index.js')
+
+function repeat(times, string) {
+  var output = ''
+  for (var ii = 0; ii < times; ++ii) {
+    output += string
+  }
+  return output
+}
+
+var target = path.resolve(__dirname, repeat(1000,'test'))
+
+test('name too long', function (t) {
+  var stream = writeStream(target)
+  stream.on('error', function (er) {
+    t.is(er.code, 'ENAMETOOLONG', target.length + " character name results in ENAMETOOLONG")
+  })
+  stream.on('close', function () {
+    t.end()
+  })
+  stream.end()
+})
\ No newline at end of file
index 7bef9a2..e36a631 100644 (file)
@@ -61,6 +61,7 @@ function setopts (self, pattern, options) {
     pattern = "**/" + pattern
   }
 
+  self.silent = !!options.silent
   self.pattern = pattern
   self.strict = options.strict !== false
   self.realpath = !!options.realpath
index 1bfed19..d8ac4ef 100644 (file)
@@ -565,10 +565,17 @@ Glob.prototype._readdirError = function (f, er, cb) {
 
     default: // some unusual error.  Treat as failure.
       this.cache[this._makeAbs(f)] = false
-      if (this.strict) return this.emit('error', er)
-      if (!this.silent) console.error('glob error', er)
+      if (this.strict) {
+        this.emit('error', er)
+        // If the error is handled, then we abort
+        // if not, we threw out of here
+        this.abort()
+      }
+      if (!this.silent)
+        console.error('glob error', er)
       break
   }
+
   return cb()
 }
 
index d2276e1..5a5af13 100644 (file)
@@ -6,7 +6,7 @@
   },
   "name": "glob",
   "description": "a little globber",
-  "version": "5.0.6",
+  "version": "5.0.7",
   "repository": {
     "type": "git",
     "url": "git://github.com/isaacs/node-glob.git"
     "benchclean": "bash benchclean.sh"
   },
   "license": "ISC",
-  "gitHead": "7a0d65d7ed11871be6b5a68dc6f15e3f4b3fb93d",
+  "gitHead": "cfd963c3c95e51864d69092e32479ddb73c3278e",
   "bugs": {
     "url": "https://github.com/isaacs/node-glob/issues"
   },
   "homepage": "https://github.com/isaacs/node-glob#readme",
-  "_id": "glob@5.0.6",
-  "_shasum": "51f1377c8d5ba36015997655d22bd7d20246accd",
+  "_id": "glob@5.0.7",
+  "_shasum": "9748021208e3fd7c3bcc7167ddbd2f1f94676a43",
   "_from": "glob@>=5.0.6 <5.1.0",
-  "_npmVersion": "2.9.1",
+  "_npmVersion": "2.10.0",
   "_nodeVersion": "2.0.1",
   "_npmUser": {
     "name": "isaacs",
     "email": "isaacs@npmjs.com"
   },
   "dist": {
-    "shasum": "51f1377c8d5ba36015997655d22bd7d20246accd",
-    "tarball": "http://registry.npmjs.org/glob/-/glob-5.0.6.tgz"
+    "shasum": "9748021208e3fd7c3bcc7167ddbd2f1f94676a43",
+    "tarball": "http://registry.npmjs.org/glob/-/glob-5.0.7.tgz"
   },
   "maintainers": [
     {
@@ -68,5 +68,5 @@
     }
   ],
   "directories": {},
-  "_resolved": "https://registry.npmjs.org/glob/-/glob-5.0.6.tgz"
+  "_resolved": "https://registry.npmjs.org/glob/-/glob-5.0.7.tgz"
 }
index 92fe110..78fada2 100644 (file)
@@ -316,8 +316,10 @@ GlobSync.prototype._readdirError = function (f, er) {
 
     default: // some unusual error.  Treat as failure.
       this.cache[this._makeAbs(f)] = false
-      if (this.strict) throw er
-      if (!this.silent) console.error('glob error', er)
+      if (this.strict)
+        throw er
+      if (!this.silent)
+        console.error('glob error', er)
       break
   }
 }
index 0c44ae7..19129e3 100644 (file)
@@ -1,27 +1,15 @@
-Copyright (c) Isaac Z. Schlueter ("Author")
-All rights reserved.
+The ISC License
 
-The BSD License
+Copyright (c) Isaac Z. Schlueter and Contributors
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
 
-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 AUTHOR 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 AUTHOR 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.
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
index a019492..b55ea29 100644 (file)
@@ -6,7 +6,7 @@
   },
   "name": "graceful-fs",
   "description": "A drop-in replacement for fs, making various improvements.",
-  "version": "3.0.6",
+  "version": "3.0.7",
   "repository": {
     "type": "git",
     "url": "git://github.com/isaacs/node-graceful-fs.git"
     "EPERM",
     "EACCESS"
   ],
-  "license": "BSD",
+  "license": "ISC",
   "devDependencies": {
     "mkdirp": "^0.5.0",
     "rimraf": "^2.2.8",
     "tap": "^0.4.13"
   },
-  "gitHead": "8c93aeee947014dafa113dcc8fa04d2e6a6e3e14",
+  "gitHead": "4aa1ba4a0a1ae59948dc3b14decb7c4a8ab62bce",
   "bugs": {
     "url": "https://github.com/isaacs/node-graceful-fs/issues"
   },
-  "homepage": "https://github.com/isaacs/node-graceful-fs",
-  "_id": "graceful-fs@3.0.6",
-  "_shasum": "dce3a18351cb94cdc82e688b2e3dd2842d1b09bb",
-  "_from": "graceful-fs@>=3.0.6 <3.1.0",
-  "_npmVersion": "2.7.1",
-  "_nodeVersion": "1.4.2",
+  "homepage": "https://github.com/isaacs/node-graceful-fs#readme",
+  "_id": "graceful-fs@3.0.7",
+  "_shasum": "e935be4b3e57892d289dc3bef7be8c02779d2b54",
+  "_from": "graceful-fs@>=3.0.7 <3.1.0",
+  "_npmVersion": "2.10.0",
+  "_nodeVersion": "2.0.1",
   "_npmUser": {
     "name": "isaacs",
-    "email": "i@izs.me"
+    "email": "isaacs@npmjs.com"
+  },
+  "dist": {
+    "shasum": "e935be4b3e57892d289dc3bef7be8c02779d2b54",
+    "tarball": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.7.tgz"
   },
   "maintainers": [
     {
       "email": "i@izs.me"
     }
   ],
-  "dist": {
-    "shasum": "dce3a18351cb94cdc82e688b2e3dd2842d1b09bb",
-    "tarball": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.6.tgz"
-  },
-  "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.6.tgz",
+  "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.7.tgz",
   "readme": "ERROR: No README data found!"
 }
diff --git a/deps/npm/node_modules/hosted-git-info/LICENSE b/deps/npm/node_modules/hosted-git-info/LICENSE
new file mode 100644 (file)
index 0000000..4505576
--- /dev/null
@@ -0,0 +1,13 @@
+Copyright (c) 2015, Rebecca Turner
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
index 55b5dbc..1db47dd 100644 (file)
@@ -37,7 +37,7 @@ And methods of:
 * info.file(path)
 
 Given the path of a file relative to the repository, returns a URL for
-directly fetching it from the githost.  If no comittish was set then
+directly fetching it from the githost.  If no committish was set then
 `master` will be used as the default.
 
 For example `hostedGitInfo.fromUrl("git@github.com:npm/hosted-git-info.git#v1.0.0").file("package.json")`
index 354d9fc..2234333 100644 (file)
@@ -7,9 +7,9 @@ var gitHosts = module.exports = {
     'protocols': [ 'git', 'http', 'git+ssh', 'git+https', 'ssh', 'https' ],
     'domain': 'github.com',
     'treepath': 'tree',
-    'filetemplate': 'https://{auth@}raw.githubusercontent.com/{user}/{project}/{comittish}/{path}',
+    'filetemplate': 'https://{auth@}raw.githubusercontent.com/{user}/{project}/{committish}/{path}',
     'bugstemplate': 'https://{domain}/{user}/{project}/issues',
-    'gittemplate': 'git://{auth@}{domain}/{user}/{project}.git{#comittish}'
+    'gittemplate': 'git://{auth@}{domain}/{user}/{project}.git{#committish}'
   },
   bitbucket: {
     'protocols': [ 'git+ssh', 'git+https', 'ssh', 'https' ],
@@ -20,35 +20,35 @@ var gitHosts = module.exports = {
     'protocols': [ 'git+ssh', 'git+https', 'ssh', 'https' ],
     'domain': 'gitlab.com',
     'treepath': 'tree',
-    'docstemplate': 'https://{domain}/{user}/{project}{/tree/comittish}#README',
+    'docstemplate': 'https://{domain}/{user}/{project}{/tree/committish}#README',
     'bugstemplate': 'https://{domain}/{user}/{project}/issues'
   },
   gist: {
     'protocols': [ 'git', 'git+ssh', 'git+https', 'ssh', 'https' ],
     'domain': 'gist.github.com',
     'pathmatch': /^[/](?:([^/]+)[/])?([a-z0-9]+)(?:[.]git)?$/,
-    'filetemplate': 'https://gist.githubusercontent.com/{user}/{project}/raw{/comittish}/{path}',
+    'filetemplate': 'https://gist.githubusercontent.com/{user}/{project}/raw{/committish}/{path}',
     'bugstemplate': 'https://{domain}/{project}',
-    'gittemplate': 'git://{domain}/{project}.git{#comittish}',
-    'sshtemplate': 'git@{domain}:/{project}.git{#comittish}',
-    'sshurltemplate': 'git+ssh://git@{domain}/{project}.git{#comittish}',
-    'browsetemplate': 'https://{domain}/{project}{/comittish}',
-    'docstemplate': 'https://{domain}/{project}{/comittish}',
-    'httpstemplate': 'git+https://{domain}/{project}.git{#comittish}',
-    'shortcuttemplate': '{type}:{project}{#comittish}',
-    'pathtemplate': '{project}{#comittish}'
+    'gittemplate': 'git://{domain}/{project}.git{#committish}',
+    'sshtemplate': 'git@{domain}:/{project}.git{#committish}',
+    'sshurltemplate': 'git+ssh://git@{domain}/{project}.git{#committish}',
+    'browsetemplate': 'https://{domain}/{project}{/committish}',
+    'docstemplate': 'https://{domain}/{project}{/committish}',
+    'httpstemplate': 'git+https://{domain}/{project}.git{#committish}',
+    'shortcuttemplate': '{type}:{project}{#committish}',
+    'pathtemplate': '{project}{#committish}'
   }
 }
 
 var gitHostDefaults = {
-  'sshtemplate': 'git@{domain}:{user}/{project}.git{#comittish}',
-  'sshurltemplate': 'git+ssh://git@{domain}/{user}/{project}.git{#comittish}',
-  'browsetemplate': 'https://{domain}/{user}/{project}{/tree/comittish}',
-  'docstemplate': 'https://{domain}/{user}/{project}{/tree/comittish}#readme',
-  'httpstemplate': 'git+https://{auth@}{domain}/{user}/{project}.git{#comittish}',
-  'filetemplate': 'https://{domain}/{user}/{project}/raw/{comittish}/{path}',
-  'shortcuttemplate': '{type}:{user}/{project}{#comittish}',
-  'pathtemplate': '{user}/{project}{#comittish}',
+  'sshtemplate': 'git@{domain}:{user}/{project}.git{#committish}',
+  'sshurltemplate': 'git+ssh://git@{domain}/{user}/{project}.git{#committish}',
+  'browsetemplate': 'https://{domain}/{user}/{project}{/tree/committish}',
+  'docstemplate': 'https://{domain}/{user}/{project}{/tree/committish}#readme',
+  'httpstemplate': 'git+https://{auth@}{domain}/{user}/{project}.git{#committish}',
+  'filetemplate': 'https://{domain}/{user}/{project}/raw/{committish}/{path}',
+  'shortcuttemplate': '{type}:{user}/{project}{#committish}',
+  'pathtemplate': '{user}/{project}{#committish}',
   'pathmatch': /^[/]([^/]+)[/]([^/]+?)(?:[.]git)?$/
 }
 
index b69ad0f..ea31380 100644 (file)
@@ -1,7 +1,7 @@
 'use strict'
 var gitHosts = require('./git-host-info.js')
 
-var GitHost = module.exports = function (type, user, auth, project, comittish, defaultRepresentation) {
+var GitHost = module.exports = function (type, user, auth, project, committish, defaultRepresentation) {
   var gitHostInfo = this
   gitHostInfo.type = type
   Object.keys(gitHosts[type]).forEach(function (key) {
@@ -10,13 +10,13 @@ var GitHost = module.exports = function (type, user, auth, project, comittish, d
   gitHostInfo.user = user
   gitHostInfo.auth = auth
   gitHostInfo.project = project
-  gitHostInfo.comittish = comittish
+  gitHostInfo.committish = committish
   gitHostInfo.default = defaultRepresentation
 }
 GitHost.prototype = {}
 
 GitHost.prototype.hash = function () {
-  return this.comittish ? '#' + this.comittish : ''
+  return this.committish ? '#' + this.committish : ''
 }
 
 GitHost.prototype._fill = function (template, vars) {
@@ -27,17 +27,17 @@ GitHost.prototype._fill = function (template, vars) {
     if (self[key] != null && vars[key] == null) vars[key] = self[key]
   })
   var rawAuth = vars.auth
-  var rawComittish = vars.comittish
+  var rawComittish = vars.committish
   Object.keys(vars).forEach(function (key) {
     vars[key] = encodeURIComponent(vars[key])
   })
   vars['auth@'] = rawAuth ? rawAuth + '@' : ''
-  vars['#comittish'] = rawComittish ? '#' + rawComittish : ''
-  vars['/tree/comittish'] = vars.comittish
-                          ? '/' + vars.treepath + '/' + vars.comittish
+  vars['#committish'] = rawComittish ? '#' + rawComittish : ''
+  vars['/tree/committish'] = vars.committish
+                          ? '/' + vars.treepath + '/' + vars.committish
                           : ''
-  vars['/comittish'] = vars.comittish ? '/' + vars.comittish : ''
-  vars.comittish = vars.comittish || 'master'
+  vars['/committish'] = vars.committish ? '/' + vars.committish : ''
+  vars.committish = vars.committish || 'master'
   var res = template
   Object.keys(vars).forEach(function (key) {
     res = res.replace(new RegExp('[{]' + key + '[}]', 'g'), vars[key])
index b8c6e10..453ce87 100644 (file)
@@ -35,7 +35,7 @@ module.exports.fromUrl = function (giturl) {
     if (parsed.auth && authProtocols[parsed.protocol]) {
       auth = decodeURIComponent(parsed.auth)
     }
-    var comittish = parsed.hash ? decodeURIComponent(parsed.hash.substr(1)) : null
+    var committish = parsed.hash ? decodeURIComponent(parsed.hash.substr(1)) : null
     var user = null
     var project = null
     var defaultRepresentation = null
@@ -53,7 +53,7 @@ module.exports.fromUrl = function (giturl) {
       if (matched[2] != null) project = decodeURIComponent(matched[2])
       defaultRepresentation = protocolToRepresentation(parsed.protocol)
     }
-    return new GitHost(gitHostName, user, auth, project, comittish, defaultRepresentation)
+    return new GitHost(gitHostName, user, auth, project, committish, defaultRepresentation)
   }).filter(function (gitHostInfo) { return gitHostInfo })
   if (matches.length !== 1) return
   return matches[0]
index 81f477e..8d34aca 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "hosted-git-info",
-  "version": "2.1.2",
+  "version": "2.1.4",
   "description": "Provides metadata and conversions from repository urls for Github, Bitbucket and Gitlab",
   "main": "index.js",
   "repository": {
     "standard": "^3.3.2",
     "tap": "^0.4.13"
   },
-  "readme": "# hosted-git-info\n\nThis will let you identify and transform various git hosts URLs between\nprotocols.  It also can tell you what the URL is for the raw path for\nparticular file for direct access without git.\n\n## Usage\n\n```javascript\nvar hostedGitInfo = require(\"hosted-git-info\")\nvar info = hostedGitInfo.fromUrl(\"git@github.com:npm/hosted-git-info.git\")\n/* info looks like:\n{\n  type: \"github\",\n  domain: \"github.com\",\n  user: \"npm\",\n  project: \"hosted-git-info\"\n}\n*/\n```\n\nIf the URL can't be matched with a git host, `null` will be returned.  We\ncan match git, ssh and https urls.  Additionally, we can match ssh connect\nstrings (`git@github.com:npm/hosted-git-info`) and shortcuts (eg,\n`github:npm/hosted-git-info`).  Github specifically, is detected in the case\nof a third, unprefixed, form: `npm/hosted-git-info`.\n\nIf it does match, the returned object has properties of:\n\n* info.type -- The short name of the service\n* info.domain -- The domain for git protocol use\n* info.user -- The name of the user/org on the git host\n* info.project -- The name of the project on the git host\n\nAnd methods of:\n\n* info.file(path)\n\nGiven the path of a file relative to the repository, returns a URL for\ndirectly fetching it from the githost.  If no comittish was set then\n`master` will be used as the default.\n\nFor example `hostedGitInfo.fromUrl(\"git@github.com:npm/hosted-git-info.git#v1.0.0\").file(\"package.json\")`\nwould return `https://raw.githubusercontent.com/npm/hosted-git-info/v1.0.0/package.json`\n\n* info.shortcut()\n\neg, `github:npm/hosted-git-info`\n\n* info.browse()\n\neg, `https://github.com/npm/hosted-git-info/tree/v1.2.0`\n\n* info.bugs()\n\neg, `https://github.com/npm/hosted-git-info/issues`\n\n* info.docs()\n\neg, `https://github.com/npm/hosted-git-info/tree/v1.2.0#readme`\n\n* info.https()\n\neg, `git+https://github.com/npm/hosted-git-info.git`\n\n* info.sshurl()\n\neg, `git+ssh://git@github.com/npm/hosted-git-info.git`\n\n* info.ssh()\n\neg, `git@github.com:npm/hosted-git-info.git`\n\n* info.path()\n\neg, `npm/hosted-git-info`\n\n* info.getDefaultRepresentation()\n\nReturns the default output type. The default output type is based on the\nstring you passed in to be parsed\n\n* info.toString()\n\nUses the getDefaultRepresentation to call one of the other methods to get a URL for\nthis resource. As such `hostedGitInfo.fromUrl(url).toString()` will give\nyou a normalized version of the URL that still uses the same protocol.\n\nShortcuts will still be returned as shortcuts, but the special case github\nform of `org/project` will be normalized to `github:org/project`.\n\nSSH connect strings will be normalized into `git+ssh` URLs.\n\n\n## Supported hosts\n\nCurrently this supports Github, Bitbucket and Gitlab. Pull requests for\nadditional hosts welcome.\n\n",
-  "readmeFilename": "README.md",
-  "gitHead": "9f24fee147bb76595e234b7556ecc9d0448215fa",
-  "_id": "hosted-git-info@2.1.2",
-  "_shasum": "f947976852931851c33644bbce80d1e499795246",
-  "_from": "hosted-git-info@>=2.1.2 <2.2.0"
+  "gitHead": "9e1a36df8eb050a663713c79e56d89dadba2bd8d",
+  "_id": "hosted-git-info@2.1.4",
+  "_shasum": "d9e953b26988be88096c46e926494d9604c300f8",
+  "_from": "hosted-git-info@>=2.1.2 <2.2.0",
+  "_npmVersion": "2.10.1",
+  "_nodeVersion": "2.0.2",
+  "_npmUser": {
+    "name": "othiym23",
+    "email": "ogd@aoaioxxysz.net"
+  },
+  "dist": {
+    "shasum": "d9e953b26988be88096c46e926494d9604c300f8",
+    "tarball": "http://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.4.tgz"
+  },
+  "maintainers": [
+    {
+      "name": "iarna",
+      "email": "me@re-becca.org"
+    },
+    {
+      "name": "othiym23",
+      "email": "ogd@aoaioxxysz.net"
+    }
+  ],
+  "directories": {},
+  "_resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.4.tgz"
 }
index fc65f2e..886291d 100644 (file)
@@ -4,6 +4,7 @@ var path = require('path')
 var validateLicense = require('validate-npm-package-license')
 var validateName = require('validate-npm-package-name')
 var npa = require('npm-package-arg')
+var semver = require('semver')
 
 // more popular packages should go here, maybe?
 function isTestPkg (p) {
@@ -65,7 +66,15 @@ var version = package.version ||
               config.get('init.version') ||
               config.get('init-version') ||
               '1.0.0'
-exports.version = yes ? version : prompt('version', version)
+exports.version = yes ?
+  version :
+  prompt('version', version, function (version) {
+    if (semver.valid(version)) return version
+    var er = new Error('Invalid version: "' + version + '"')
+    er.notValid = true
+    er.again = true
+    return er
+  })
 
 if (!package.description) {
   exports.description = yes ? '' : prompt('description')
index 1407e97..1007cdd 100644 (file)
@@ -8,7 +8,7 @@
   "description": "prompting wizardly",
   "version": "0.3.0",
   "repository": {
-    "url": "git://github.com/isaacs/promzard.git"
+    "url": "git://github.com/isaacs/promzard"
   },
   "dependencies": {
     "read": "1"
index e3d291b..79b0906 100644 (file)
@@ -31,7 +31,7 @@
   "main": "spdx-correct.js",
   "repository": {
     "type": "git",
-    "url": "git+https://github.com/kemitchell/spdx-correct.git"
+    "url": "https://github.com/kemitchell/spdx-correct"
   },
   "scripts": {
     "lint": "jshint spdx-correct.js test && jscs spdx-correct.js test",
index 4aaad36..4483ede 100644 (file)
@@ -28,7 +28,7 @@
   "main": "index.js",
   "repository": {
     "type": "git",
-    "url": "git+https://github.com/kemitchell/npm-valid-package-license.git"
+    "url": "https://github.com/kemitchell/npm-valid-package-license"
   },
   "scripts": {
     "precommit": "npm run test",
index 4ac14cb..62d01c5 100644 (file)
@@ -1,13 +1,13 @@
 {
   "name": "init-package-json",
-  "version": "1.5.0",
+  "version": "1.6.0",
   "main": "init-package-json.js",
   "scripts": {
     "test": "tap test/*.js"
   },
   "repository": {
     "type": "git",
-    "url": "git://github.com/isaacs/init-package-json.git"
+    "url": "git://github.com/isaacs/init-package-json"
   },
   "author": {
     "name": "Isaac Z. Schlueter",
     "prompt",
     "start"
   ],
-  "readme": "# init-package-json\n\nA node module to get your node module started.\n\n[![Build Status](https://secure.travis-ci.org/npm/init-package-json.svg)](http://travis-ci.org/npm/init-package-json)\n\n## Usage\n\n```javascript\nvar init = require('init-package-json')\nvar path = require('path')\n\n// a path to a promzard module.  In the event that this file is\n// not found, one will be provided for you.\nvar initFile = path.resolve(process.env.HOME, '.npm-init')\n\n// the dir where we're doin stuff.\nvar dir = process.cwd()\n\n// extra stuff that gets put into the PromZard module's context.\n// In npm, this is the resolved config object.  Exposed as 'config'\n// Optional.\nvar configData = { some: 'extra stuff' }\n\n// Any existing stuff from the package.json file is also exposed in the\n// PromZard module as the `package` object.  There will also be free\n// vars for:\n// * `filename` path to the package.json file\n// * `basename` the tip of the package dir\n// * `dirname` the parent of the package dir\n\ninit(dir, initFile, configData, function (er, data) {\n  // the data's already been written to {dir}/package.json\n  // now you can do stuff with it\n})\n```\n\nOr from the command line:\n\n```\n$ npm-init\n```\n\nSee [PromZard](https://github.com/isaacs/promzard) for details about\nwhat can go in the config file.\n",
-  "readmeFilename": "README.md",
-  "gitHead": "17721cb55112690da3dc41b21d58354e89836067",
+  "gitHead": "b747e9f71eb65b22bb9139e5252bf8efb23571e1",
   "bugs": {
     "url": "https://github.com/isaacs/init-package-json/issues"
   },
-  "homepage": "https://github.com/isaacs/init-package-json#readme",
-  "_id": "init-package-json@1.5.0",
-  "_shasum": "85b701b81463593d61da8bb66b46e352f4f2e298",
-  "_from": "init-package-json@>=1.5.0 <1.6.0"
+  "homepage": "https://github.com/isaacs/init-package-json",
+  "_id": "init-package-json@1.6.0",
+  "_shasum": "8c4c2561abca1ad30d88f5594ddb4159211a36ff",
+  "_from": "init-package-json@1.6.0",
+  "_npmVersion": "2.7.6",
+  "_nodeVersion": "1.6.2",
+  "_npmUser": {
+    "name": "iarna",
+    "email": "me@re-becca.org"
+  },
+  "dist": {
+    "shasum": "8c4c2561abca1ad30d88f5594ddb4159211a36ff",
+    "tarball": "http://registry.npmjs.org/init-package-json/-/init-package-json-1.6.0.tgz"
+  },
+  "maintainers": [
+    {
+      "name": "isaacs",
+      "email": "i@izs.me"
+    },
+    {
+      "name": "othiym23",
+      "email": "ogd@aoaioxxysz.net"
+    },
+    {
+      "name": "iarna",
+      "email": "me@re-becca.org"
+    }
+  ],
+  "directories": {},
+  "_resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.6.0.tgz"
 }
index 0c44ae7..19129e3 100644 (file)
@@ -1,27 +1,15 @@
-Copyright (c) Isaac Z. Schlueter ("Author")
-All rights reserved.
+The ISC License
 
-The BSD License
+Copyright (c) Isaac Z. Schlueter and Contributors
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
 
-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 AUTHOR 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 AUTHOR 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.
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
index b3adcce..3960194 100644 (file)
@@ -51,13 +51,13 @@ Close and unlink the lockfile.
 
 Check if the lockfile is locked and not stale.
 
-Returns boolean.
+Callback is called with `cb(error, isLocked)`.
 
-### lockFile.checkSync(path, [opts], cb)
+### lockFile.checkSync(path, [opts])
 
 Check if the lockfile is locked and not stale.
 
-Callback is called with `cb(error, isLocked)`.
+Returns boolean.
 
 ## Options
 
index 27bd237..cd18aa2 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "lockfile",
-  "version": "1.0.0",
+  "version": "1.0.1",
   "main": "lockfile.js",
   "directories": {
     "test": "test"
@@ -15,7 +15,7 @@
   },
   "repository": {
     "type": "git",
-    "url": "git://github.com/isaacs/lockfile"
+    "url": "git://github.com/isaacs/lockfile.git"
   },
   "keywords": [
     "lockfile",
     "email": "i@izs.me",
     "url": "http://blog.izs.me/"
   },
-  "license": "BSD",
+  "license": "ISC",
   "description": "A very polite lock file utility, which endeavors to not litter, and to wait patiently for others.",
-  "gitHead": "9590c6f02521eb1bb154ddc3ca9a7e84ce770c45",
+  "gitHead": "9d338ed8e3e3a166955d051f6b5fb6bb1e563ca8",
   "bugs": {
     "url": "https://github.com/isaacs/lockfile/issues"
   },
-  "homepage": "https://github.com/isaacs/lockfile",
-  "_id": "lockfile@1.0.0",
-  "_shasum": "b3a7609dda6012060083bacb0ab0ecbca58e9203",
-  "_from": "lockfile@1.0.0",
-  "_npmVersion": "1.4.23",
+  "homepage": "https://github.com/isaacs/lockfile#readme",
+  "_id": "lockfile@1.0.1",
+  "_shasum": "9d353ecfe3f54d150bb57f89d51746935a39c4f5",
+  "_from": "lockfile@>=1.0.0 <1.1.0",
+  "_npmVersion": "2.10.0",
+  "_nodeVersion": "2.0.1",
   "_npmUser": {
     "name": "isaacs",
-    "email": "i@izs.me"
+    "email": "isaacs@npmjs.com"
+  },
+  "dist": {
+    "shasum": "9d353ecfe3f54d150bb57f89d51746935a39c4f5",
+    "tarball": "http://registry.npmjs.org/lockfile/-/lockfile-1.0.1.tgz"
   },
   "maintainers": [
     {
       "email": "i@izs.me"
     }
   ],
-  "dist": {
-    "shasum": "b3a7609dda6012060083bacb0ab0ecbca58e9203",
-    "tarball": "http://registry.npmjs.org/lockfile/-/lockfile-1.0.0.tgz"
-  },
-  "_resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.0.tgz",
-  "readme": "ERROR: No README data found!"
+  "_resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.1.tgz"
 }
index 05a4010..19129e3 100644 (file)
@@ -1,23 +1,15 @@
-Copyright 2009, 2010, 2011 Isaac Z. Schlueter.
-All rights reserved.
+The ISC License
 
-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:
+Copyright (c) Isaac Z. Schlueter and Contributors
 
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
 
-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.
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
index 1e8b1a7..b22362c 100644 (file)
@@ -1,7 +1,7 @@
 {
   "name": "lru-cache",
   "description": "A cache object that deletes the least-recently-used items.",
-  "version": "2.6.3",
+  "version": "2.6.4",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me"
     "tap": "^0.7.1",
     "weak": ""
   },
-  "license": {
-    "type": "MIT",
-    "url": "http://github.com/isaacs/node-lru-cache/raw/master/LICENSE"
-  },
-  "gitHead": "0654ce0b1f2d676a0cfc1f3001a097af9e7b0dfb",
+  "license": "ISC",
+  "gitHead": "aea58fc0a12714c6e1422963e7ebea66460ec39e",
   "bugs": {
     "url": "https://github.com/isaacs/node-lru-cache/issues"
   },
   "homepage": "https://github.com/isaacs/node-lru-cache#readme",
-  "_id": "lru-cache@2.6.3",
-  "_shasum": "51ccd0b4fc0c843587d7a5709ce4d3b7629bedc5",
-  "_from": "lru-cache@>=2.6.3 <2.7.0",
+  "_id": "lru-cache@2.6.4",
+  "_shasum": "2675190ccd1b0701ec2f652a4d0d3d400d76c0dd",
+  "_from": "lru-cache@>=2.6.4 <2.7.0",
   "_npmVersion": "2.10.0",
   "_nodeVersion": "2.0.1",
   "_npmUser": {
     "email": "isaacs@npmjs.com"
   },
   "dist": {
-    "shasum": "51ccd0b4fc0c843587d7a5709ce4d3b7629bedc5",
-    "tarball": "http://registry.npmjs.org/lru-cache/-/lru-cache-2.6.3.tgz"
+    "shasum": "2675190ccd1b0701ec2f652a4d0d3d400d76c0dd",
+    "tarball": "http://registry.npmjs.org/lru-cache/-/lru-cache-2.6.4.tgz"
   },
   "maintainers": [
     {
       "name": "isaacs",
-      "email": "i@izs.me"
+      "email": "isaacs@npmjs.com"
+    },
+    {
+      "name": "othiym23",
+      "email": "ogd@aoaioxxysz.net"
     }
   ],
   "directories": {},
-  "_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.3.tgz"
+  "_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.4.tgz",
+  "readme": "ERROR: No README data found!"
 }
index 05a4010..19129e3 100644 (file)
@@ -1,23 +1,15 @@
-Copyright 2009, 2010, 2011 Isaac Z. Schlueter.
-All rights reserved.
+The ISC License
 
-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:
+Copyright (c) Isaac Z. Schlueter and Contributors
 
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
 
-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.
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
index 0b23c28..2cacae2 100644 (file)
@@ -6,7 +6,7 @@
   },
   "name": "minimatch",
   "description": "a glob matcher in javascript",
-  "version": "2.0.7",
+  "version": "2.0.8",
   "repository": {
     "type": "git",
     "url": "git://github.com/isaacs/minimatch.git"
     "standard": "^3.7.2",
     "tap": ""
   },
-  "license": {
-    "type": "MIT",
-    "url": "http://github.com/isaacs/minimatch/raw/master/LICENSE"
-  },
+  "license": "ISC",
   "files": [
     "minimatch.js",
     "browser.js"
   ],
-  "gitHead": "4bd6dc22c248c7ea07cc49d63181fe6f6aafae9c",
+  "gitHead": "0bc7d9c4b2bc816502184862b45bd090de3406a3",
   "bugs": {
     "url": "https://github.com/isaacs/minimatch/issues"
   },
-  "homepage": "https://github.com/isaacs/minimatch",
-  "_id": "minimatch@2.0.7",
-  "_shasum": "d23652ab10e663e7d914602e920e21f9f66492be",
-  "_from": "minimatch@>=2.0.7 <2.1.0",
-  "_npmVersion": "2.7.6",
-  "_nodeVersion": "1.7.1",
+  "homepage": "https://github.com/isaacs/minimatch#readme",
+  "_id": "minimatch@2.0.8",
+  "_shasum": "0bc20f6bf3570a698ef0ddff902063c6cabda6bf",
+  "_from": "minimatch@>=2.0.8 <2.1.0",
+  "_npmVersion": "2.10.0",
+  "_nodeVersion": "2.0.1",
   "_npmUser": {
     "name": "isaacs",
     "email": "isaacs@npmjs.com"
   },
   "dist": {
-    "shasum": "d23652ab10e663e7d914602e920e21f9f66492be",
-    "tarball": "http://registry.npmjs.org/minimatch/-/minimatch-2.0.7.tgz"
+    "shasum": "0bc20f6bf3570a698ef0ddff902063c6cabda6bf",
+    "tarball": "http://registry.npmjs.org/minimatch/-/minimatch-2.0.8.tgz"
   },
   "maintainers": [
     {
@@ -61,6 +58,6 @@
     }
   ],
   "directories": {},
-  "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.7.tgz",
+  "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.8.tgz",
   "readme": "ERROR: No README data found!"
 }
index 1fe142f..0b81fab 100644 (file)
@@ -1,9 +1,7 @@
 {
   'target_defaults': {
     'type': 'loadable_module',
-    'win_delay_load_hook': 'true',
     'product_prefix': '',
-
     'include_dirs': [
       '<(node_root_dir)/src',
       '<(node_root_dir)/deps/uv/include',
         'product_extension': 'node',
         'defines': [ 'BUILDING_NODE_EXTENSION' ],
       }],
-
       ['_type=="static_library"', {
         # set to `1` to *disable* the -T thin archive 'ld' flag.
         # older linkers don't support this flag.
         'standalone_static_library': '<(standalone_static_library)'
       }],
-
-      ['_win_delay_load_hook=="true"', {
-        # If the addon specifies `'win_delay_load_hook': 'true'` in its
-        # binding.gyp, link a delay-load hook into the DLL. This hook ensures
-        # that the addon will work regardless of whether the node/iojs binary
-        # is named node.exe, iojs.exe, or something else.
-        'conditions': [
-          [ 'OS=="win"', {
-            'sources': [
-              'src/win_delay_load_hook.c',
-            ],
-            'msvs_settings': {
-              'VCLinkerTool': {
-                'DelayLoadDLLs': [ 'iojs.exe', 'node.exe' ],
-                # Don't print a linker warning when no imports from either .exe
-                # are used.
-                'AdditionalOptions': [ '/ignore:4199' ],
-              },
-            },
-          }],
-        ],
-      }],
     ],
 
     'conditions': [
@@ -67,7 +42,7 @@
           '-luuid.lib',
           '-lodbc32.lib',
           '-lDelayImp.lib',
-          '-l"<(node_root_dir)/$(ConfigurationName)/iojs.lib"'
+          '-l"<(node_root_dir)/$(ConfigurationName)/node.lib"'
         ],
         # warning C4251: 'node::ObjectWrap::handle_' : class 'v8::Persistent<T>'
         # needs to have dll-interface to be used by clients of class 'node::ObjectWrap'
index f9722ae..df24aaf 100644 (file)
@@ -173,7 +173,7 @@ function build (gyp, argv, callback) {
   }
 
   /**
-   * Copies the iojs.lib file for the current target architecture into the
+   * Copies the node.lib file for the current target architecture into the
    * current proper dev dir location.
    */
 
@@ -181,15 +181,15 @@ function build (gyp, argv, callback) {
     if (!win || !copyDevLib) return doBuild()
 
     var buildDir = path.resolve(nodeDir, buildType)
-      , archNodeLibPath = path.resolve(nodeDir, arch, 'iojs.lib')
-      , buildNodeLibPath = path.resolve(buildDir, 'iojs.lib')
+      , archNodeLibPath = path.resolve(nodeDir, arch, 'node.lib')
+      , buildNodeLibPath = path.resolve(buildDir, 'node.lib')
 
     mkdirp(buildDir, function (err, isNew) {
       if (err) return callback(err)
       log.verbose('"' + buildType + '" dir needed to be created?', isNew)
       var rs = fs.createReadStream(archNodeLibPath)
         , ws = fs.createWriteStream(buildNodeLibPath)
-      log.verbose('copying "iojs.lib" for ' + arch, buildNodeLibPath)
+      log.verbose('copying "node.lib" for ' + arch, buildNodeLibPath)
       rs.pipe(ws)
       rs.on('error', callback)
       ws.on('error', callback)
index f9176b3..6f72e6a 100644 (file)
@@ -39,7 +39,7 @@ function install (gyp, argv, callback) {
     }
   }
 
-  var distUrl = gyp.opts['dist-url'] || gyp.opts.disturl || 'https://iojs.org/dist'
+  var distUrl = gyp.opts['dist-url'] || gyp.opts.disturl || 'http://nodejs.org/dist'
 
 
   // Determine which node dev files version we are installing
@@ -185,7 +185,7 @@ function install (gyp, argv, callback) {
 
       // now download the node tarball
       var tarPath = gyp.opts['tarball']
-      var tarballUrl = tarPath ? tarPath : distUrl + '/v' + version + '/iojs-v' + version + '.tar.gz'
+      var tarballUrl = tarPath ? tarPath : distUrl + '/v' + version + '/node-v' + version + '.tar.gz'
         , badDownload = false
         , extractCount = 0
         , gunzip = zlib.createGunzip()
@@ -267,7 +267,7 @@ function install (gyp, argv, callback) {
         var async = 0
 
         if (win) {
-          // need to download iojs.lib
+          // need to download node.lib
           async++
           downloadNodeLib(deref)
         }
@@ -343,36 +343,36 @@ function install (gyp, argv, callback) {
       }
 
       function downloadNodeLib (done) {
-        log.verbose('on Windows; need to download `iojs.lib`...')
+        log.verbose('on Windows; need to download `node.lib`...')
         var dir32 = path.resolve(devDir, 'ia32')
           , dir64 = path.resolve(devDir, 'x64')
-          , nodeLibPath32 = path.resolve(dir32, 'iojs.lib')
-          , nodeLibPath64 = path.resolve(dir64, 'iojs.lib')
-          , nodeLibUrl32 = distUrl + '/v' + version + '/win-x86/iojs.lib'
-          , nodeLibUrl64 = distUrl + '/v' + version + '/win-x64/iojs.lib'
+          , nodeLibPath32 = path.resolve(dir32, 'node.lib')
+          , nodeLibPath64 = path.resolve(dir64, 'node.lib')
+          , nodeLibUrl32 = distUrl + '/v' + version + '/node.lib'
+          , nodeLibUrl64 = distUrl + '/v' + version + '/x64/node.lib'
 
-        log.verbose('32-bit iojs.lib dir', dir32)
-        log.verbose('64-bit iojs.lib dir', dir64)
-        log.verbose('`iojs.lib` 32-bit url', nodeLibUrl32)
-        log.verbose('`iojs.lib` 64-bit url', nodeLibUrl64)
+        log.verbose('32-bit node.lib dir', dir32)
+        log.verbose('64-bit node.lib dir', dir64)
+        log.verbose('`node.lib` 32-bit url', nodeLibUrl32)
+        log.verbose('`node.lib` 64-bit url', nodeLibUrl64)
 
         var async = 2
         mkdir(dir32, function (err) {
           if (err) return done(err)
-          log.verbose('streaming 32-bit iojs.lib to:', nodeLibPath32)
+          log.verbose('streaming 32-bit node.lib to:', nodeLibPath32)
 
           var req = download(nodeLibUrl32)
           if (!req) return
           req.on('error', done)
           req.on('response', function (res) {
             if (res.statusCode !== 200) {
-              done(new Error(res.statusCode + ' status code downloading 32-bit iojs.lib'))
+              done(new Error(res.statusCode + ' status code downloading 32-bit node.lib'))
               return
             }
 
             getContentSha(res, function (_, checksum) {
-              contentShasums['win-x86/iojs.lib'] = checksum
-              log.verbose('content checksum', 'win-x86/iojs.lib', checksum)
+              contentShasums['node.lib'] = checksum
+              log.verbose('content checksum', 'node.lib', checksum)
             })
 
             var ws = fs.createWriteStream(nodeLibPath32)
@@ -385,20 +385,20 @@ function install (gyp, argv, callback) {
         })
         mkdir(dir64, function (err) {
           if (err) return done(err)
-          log.verbose('streaming 64-bit iojs.lib to:', nodeLibPath64)
+          log.verbose('streaming 64-bit node.lib to:', nodeLibPath64)
 
           var req = download(nodeLibUrl64)
           if (!req) return
           req.on('error', done)
           req.on('response', function (res) {
             if (res.statusCode !== 200) {
-              done(new Error(res.statusCode + ' status code downloading 64-bit iojs.lib'))
+              done(new Error(res.statusCode + ' status code downloading 64-bit node.lib'))
               return
             }
 
             getContentSha(res, function (_, checksum) {
-              contentShasums['win-x64/iojs.lib'] = checksum
-              log.verbose('content checksum', 'win-x64/iojs.lib', checksum)
+              contentShasums['x64/node.lib'] = checksum
+              log.verbose('content checksum', 'x64/node.lib', checksum)
             })
 
             var ws = fs.createWriteStream(nodeLibPath64)
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/.jshintrc b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/.jshintrc
new file mode 100644 (file)
index 0000000..182e34d
--- /dev/null
@@ -0,0 +1,4 @@
+{
+  "asi": true,
+  "laxcomma": true
+}
diff --git a/deps/npm/node_modules/node-gyp/src/win_delay_load_hook.c b/deps/npm/node_modules/node-gyp/src/win_delay_load_hook.c
deleted file mode 100644 (file)
index f397cfa..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * When this file is linked to a DLL, it sets up a delay-load hook that
- * intervenes when the DLL is trying to load 'node.exe' or 'iojs.exe'
- * dynamically. Instead of trying to locate the .exe file it'll just return
- * a handle to the process image.
- *
- * This allows compiled addons to work when node.exe or iojs.exe is renamed.
- */
-
-#ifdef _MSC_VER
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-
-#include <delayimp.h>
-#include <string.h>
-
-static FARPROC WINAPI load_exe_hook(unsigned int event, DelayLoadInfo* info) {
-  HMODULE m;
-  if (event != dliNotePreLoadLibrary)
-    return NULL;
-
-  if (_stricmp(info->szDll, "iojs.exe") != 0 &&
-      _stricmp(info->szDll, "node.exe") != 0)
-    return NULL;
-
-  m = GetModuleHandle(NULL);
-  return (FARPROC) m;
-}
-
-PfnDliHook __pfnDliNotifyHook2 = load_exe_hook;
-
-#endif
index 05a4010..19129e3 100644 (file)
@@ -1,23 +1,15 @@
-Copyright 2009, 2010, 2011 Isaac Z. Schlueter.
-All rights reserved.
+The ISC License
 
-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:
+Copyright (c) Isaac Z. Schlueter and Contributors
 
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
 
-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.
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
index 874f112..97c090b 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "nopt",
-  "version": "3.0.1",
+  "version": "3.0.2",
   "description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.",
   "author": {
     "name": "Isaac Z. Schlueter",
   },
   "repository": {
     "type": "git",
-    "url": "http://github.com/isaacs/nopt"
+    "url": "git+ssh://git@github.com/isaacs/nopt.git"
   },
   "bin": {
     "nopt": "./bin/nopt.js"
   },
-  "license": {
-    "type": "MIT",
-    "url": "https://github.com/isaacs/nopt/raw/master/LICENSE"
-  },
+  "license": "ISC",
   "dependencies": {
     "abbrev": "1"
   },
   "devDependencies": {
     "tap": "~0.4.8"
   },
-  "readme": "If you want to write an option parser, and have it be good, there are\ntwo ways to do it.  The Right Way, and the Wrong Way.\n\nThe Wrong Way is to sit down and write an option parser.  We've all done\nthat.\n\nThe Right Way is to write some complex configurable program with so many\noptions that you go half-insane just trying to manage them all, and put\nit off with duct-tape solutions until you see exactly to the core of the\nproblem, and finally snap and write an awesome option parser.\n\nIf you want to write an option parser, don't write an option parser.\nWrite a package manager, or a source control system, or a service\nrestarter, or an operating system.  You probably won't end up with a\ngood one of those, but if you don't give up, and you are relentless and\ndiligent enough in your procrastination, you may just end up with a very\nnice option parser.\n\n## USAGE\n\n    // my-program.js\n    var nopt = require(\"nopt\")\n      , Stream = require(\"stream\").Stream\n      , path = require(\"path\")\n      , knownOpts = { \"foo\" : [String, null]\n                    , \"bar\" : [Stream, Number]\n                    , \"baz\" : path\n                    , \"bloo\" : [ \"big\", \"medium\", \"small\" ]\n                    , \"flag\" : Boolean\n                    , \"pick\" : Boolean\n                    , \"many\" : [String, Array]\n                    }\n      , shortHands = { \"foofoo\" : [\"--foo\", \"Mr. Foo\"]\n                     , \"b7\" : [\"--bar\", \"7\"]\n                     , \"m\" : [\"--bloo\", \"medium\"]\n                     , \"p\" : [\"--pick\"]\n                     , \"f\" : [\"--flag\"]\n                     }\n                 // everything is optional.\n                 // knownOpts and shorthands default to {}\n                 // arg list defaults to process.argv\n                 // slice defaults to 2\n      , parsed = nopt(knownOpts, shortHands, process.argv, 2)\n    console.log(parsed)\n\nThis would give you support for any of the following:\n\n```bash\n$ node my-program.js --foo \"blerp\" --no-flag\n{ \"foo\" : \"blerp\", \"flag\" : false }\n\n$ node my-program.js ---bar 7 --foo \"Mr. Hand\" --flag\n{ bar: 7, foo: \"Mr. Hand\", flag: true }\n\n$ node my-program.js --foo \"blerp\" -f -----p\n{ foo: \"blerp\", flag: true, pick: true }\n\n$ node my-program.js -fp --foofoo\n{ foo: \"Mr. Foo\", flag: true, pick: true }\n\n$ node my-program.js --foofoo -- -fp  # -- stops the flag parsing.\n{ foo: \"Mr. Foo\", argv: { remain: [\"-fp\"] } }\n\n$ node my-program.js --blatzk -fp # unknown opts are ok.\n{ blatzk: true, flag: true, pick: true }\n\n$ node my-program.js --blatzk=1000 -fp # but you need to use = if they have a value\n{ blatzk: 1000, flag: true, pick: true }\n\n$ node my-program.js --no-blatzk -fp # unless they start with \"no-\"\n{ blatzk: false, flag: true, pick: true }\n\n$ node my-program.js --baz b/a/z # known paths are resolved.\n{ baz: \"/Users/isaacs/b/a/z\" }\n\n# if Array is one of the types, then it can take many\n# values, and will always be an array.  The other types provided\n# specify what types are allowed in the list.\n\n$ node my-program.js --many 1 --many null --many foo\n{ many: [\"1\", \"null\", \"foo\"] }\n\n$ node my-program.js --many foo\n{ many: [\"foo\"] }\n```\n\nRead the tests at the bottom of `lib/nopt.js` for more examples of\nwhat this puppy can do.\n\n## Types\n\nThe following types are supported, and defined on `nopt.typeDefs`\n\n* String: A normal string.  No parsing is done.\n* path: A file system path.  Gets resolved against cwd if not absolute.\n* url: A url.  If it doesn't parse, it isn't accepted.\n* Number: Must be numeric.\n* Date: Must parse as a date. If it does, and `Date` is one of the options,\n  then it will return a Date object, not a string.\n* Boolean: Must be either `true` or `false`.  If an option is a boolean,\n  then it does not need a value, and its presence will imply `true` as\n  the value.  To negate boolean flags, do `--no-whatever` or `--whatever\n  false`\n* NaN: Means that the option is strictly not allowed.  Any value will\n  fail.\n* Stream: An object matching the \"Stream\" class in node.  Valuable\n  for use when validating programmatically.  (npm uses this to let you\n  supply any WriteStream on the `outfd` and `logfd` config options.)\n* Array: If `Array` is specified as one of the types, then the value\n  will be parsed as a list of options.  This means that multiple values\n  can be specified, and that the value will always be an array.\n\nIf a type is an array of values not on this list, then those are\nconsidered valid values.  For instance, in the example above, the\n`--bloo` option can only be one of `\"big\"`, `\"medium\"`, or `\"small\"`,\nand any other value will be rejected.\n\nWhen parsing unknown fields, `\"true\"`, `\"false\"`, and `\"null\"` will be\ninterpreted as their JavaScript equivalents.\n\nYou can also mix types and values, or multiple types, in a list.  For\ninstance `{ blah: [Number, null] }` would allow a value to be set to\neither a Number or null.  When types are ordered, this implies a\npreference, and the first type that can be used to properly interpret\nthe value will be used.\n\nTo define a new type, add it to `nopt.typeDefs`.  Each item in that\nhash is an object with a `type` member and a `validate` method.  The\n`type` member is an object that matches what goes in the type list.  The\n`validate` method is a function that gets called with `validate(data,\nkey, val)`.  Validate methods should assign `data[key]` to the valid\nvalue of `val` if it can be handled properly, or return boolean\n`false` if it cannot.\n\nYou can also call `nopt.clean(data, types, typeDefs)` to clean up a\nconfig object and remove its invalid properties.\n\n## Error Handling\n\nBy default, nopt outputs a warning to standard error when invalid\noptions are found.  You can change this behavior by assigning a method\nto `nopt.invalidHandler`.  This method will be called with\nthe offending `nopt.invalidHandler(key, val, types)`.\n\nIf no `nopt.invalidHandler` is assigned, then it will console.error\nits whining.  If it is assigned to boolean `false` then the warning is\nsuppressed.\n\n## Abbreviations\n\nYes, they are supported.  If you define options like this:\n\n```javascript\n{ \"foolhardyelephants\" : Boolean\n, \"pileofmonkeys\" : Boolean }\n```\n\nThen this will work:\n\n```bash\nnode program.js --foolhar --pil\nnode program.js --no-f --pileofmon\n# etc.\n```\n\n## Shorthands\n\nShorthands are a hash of shorter option names to a snippet of args that\nthey expand to.\n\nIf multiple one-character shorthands are all combined, and the\ncombination does not unambiguously match any other option or shorthand,\nthen they will be broken up into their constituent parts.  For example:\n\n```json\n{ \"s\" : [\"--loglevel\", \"silent\"]\n, \"g\" : \"--global\"\n, \"f\" : \"--force\"\n, \"p\" : \"--parseable\"\n, \"l\" : \"--long\"\n}\n```\n\n```bash\nnpm ls -sgflp\n# just like doing this:\nnpm ls --loglevel silent --global --force --long --parseable\n```\n\n## The Rest of the args\n\nThe config object returned by nopt is given a special member called\n`argv`, which is an object with the following fields:\n\n* `remain`: The remaining args after all the parsing has occurred.\n* `original`: The args as they originally appeared.\n* `cooked`: The args after flags and shorthands are expanded.\n\n## Slicing\n\nNode programs are called with more or less the exact argv as it appears\nin C land, after the v8 and node-specific options have been plucked off.\nAs such, `argv[0]` is always `node` and `argv[1]` is always the\nJavaScript program being run.\n\nThat's usually not very useful to you.  So they're sliced off by\ndefault.  If you want them, then you can pass in `0` as the last\nargument, or any other number that you'd like to slice off the start of\nthe list.\n",
-  "readmeFilename": "README.md",
-  "gitHead": "4296f7aba7847c198fea2da594f9e1bec02817ec",
+  "gitHead": "a0ff8dcbb29ae9da68769c9f782bd4d70746b02d",
   "bugs": {
     "url": "https://github.com/isaacs/nopt/issues"
   },
-  "homepage": "https://github.com/isaacs/nopt",
-  "_id": "nopt@3.0.1",
-  "_shasum": "bce5c42446a3291f47622a370abbf158fbbacbfd",
-  "_from": "nopt@latest"
+  "homepage": "https://github.com/isaacs/nopt#readme",
+  "_id": "nopt@3.0.2",
+  "_shasum": "a82a87f9d8c3df140fe78fb29657a7a774403b5e",
+  "_from": "nopt@>=3.0.2 <3.1.0",
+  "_npmVersion": "2.10.0",
+  "_nodeVersion": "2.0.1",
+  "_npmUser": {
+    "name": "isaacs",
+    "email": "isaacs@npmjs.com"
+  },
+  "dist": {
+    "shasum": "a82a87f9d8c3df140fe78fb29657a7a774403b5e",
+    "tarball": "http://registry.npmjs.org/nopt/-/nopt-3.0.2.tgz"
+  },
+  "maintainers": [
+    {
+      "name": "isaacs",
+      "email": "i@izs.me"
+    }
+  ],
+  "directories": {},
+  "_resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.2.tgz",
+  "readme": "ERROR: No README data found!"
 }
diff --git a/deps/npm/node_modules/normalize-git-url/.eslintrc b/deps/npm/node_modules/normalize-git-url/.eslintrc
new file mode 100644 (file)
index 0000000..b54e30f
--- /dev/null
@@ -0,0 +1,19 @@
+{
+  "env" : {
+    "node" : true
+  },
+  "rules" : {
+    "semi": [2, "never"],
+    "strict": 0,
+    "quotes": [1, "double", "avoid-escape"],
+    "no-use-before-define": 0,
+    "curly": 0,
+    "no-underscore-dangle": 0,
+    "no-lonely-if": 1,
+    "no-unused-vars": [2, {"vars" : "all", "args" : "after-used"}],
+    "no-mixed-requires": 0,
+    "space-infix-ops": 0,
+    "key-spacing": 0,
+    "no-multi-spaces": 0
+  }
+}
diff --git a/deps/npm/node_modules/normalize-git-url/LICENSE b/deps/npm/node_modules/normalize-git-url/LICENSE
new file mode 100644 (file)
index 0000000..d21147b
--- /dev/null
@@ -0,0 +1,13 @@
+Copyright (c) 2014-2015, Forrest L Norvell
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
index 1402b0e..6008db6 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "normalize-git-url",
-  "version": "1.0.0",
+  "version": "1.0.1",
   "description": "Normalizes Git URLs. For npm, but you can use it too.",
   "main": "normalize-git-url.js",
   "directories": {
@@ -8,14 +8,14 @@
   },
   "dependencies": {},
   "devDependencies": {
-    "tap": "^0.4.13"
+    "tap": "^1.1.0"
   },
   "scripts": {
     "test": "tap test/*.js"
   },
   "repository": {
     "type": "git",
-    "url": "https://github.com/npm/normalize-git-url.git"
+    "url": "git+https://github.com/npm/normalize-git-url.git"
   },
   "keywords": [
     "git",
@@ -35,8 +35,8 @@
   "homepage": "https://github.com/npm/normalize-git-url",
   "readme": "# normalize-git-url\n\nYou have a bunch of Git URLs. You want to convert them to a canonical\nrepresentation, probably for use inside npm so that it doesn't end up creating\na bunch of superfluous cached origins. You use this package.\n\n## Usage\n\n```javascript\nvar ngu = require('normalize-git-url');\nvar normalized = ngu(\"git+ssh://git@github.com:organization/repo.git#hashbrowns\")\n// get back:\n// {\n//   url : \"ssh://git@github.com/organization/repo.git\",\n//   branch : \"hashbrowns\" // did u know hashbrowns are delicious?\n// }\n```\n\n## API\n\nThere's just the one function, and all it takes is a single parameter, a non-normalized Git URL.\n\n### normalizeGitUrl(url)\n\n* `url` {String} The Git URL (very loosely speaking) to be normalized.\n\nReturns an object with the following format:\n\n* `url` {String} The normalized URL.\n* `branch` {String} The treeish to be checked out once the repo at `url` is\n  cloned. It doesn't have to be a branch, but it's a lot easier to intuit what\n  the output is for with that name.\n\n## Limitations\n\nRight now this doesn't try to special-case GitHub too much -- it doesn't ensure\nthat `.git` is added to the end of URLs, it doesn't prefer `https:` over\n`http:` or `ssh:`, it doesn't deal with redirects, and it doesn't try to\nresolve symbolic names to treeish hashcodes. For now, it just tries to account\nfor minor differences in representation.\n",
   "readmeFilename": "README.md",
-  "gitHead": "e51f43718af66ffbced4ccfd9a6514470fc4c553",
-  "_id": "normalize-git-url@1.0.0",
-  "_shasum": "80e59471f0616b579893973e3f1b3684bedbad48",
-  "_from": "normalize-git-url@>=1.0.0 <1.1.0"
+  "gitHead": "d87bf42e845ed664e4a8bab3490052fb44c90433",
+  "_id": "normalize-git-url@1.0.1",
+  "_shasum": "1b561345d66e3a3bc5513a5ace85f155ca42613e",
+  "_from": "normalize-git-url@>=1.0.1 <1.1.0"
 }
index e8f917d..d1b3983 100644 (file)
@@ -193,7 +193,10 @@ var fixer = module.exports = {
     modifyPeople(data, parsePerson)
   }
 
-, fixNameField: function(data, strict) {
+, fixNameField: function(data, options) {
+    if (typeof options === "boolean") options = {strict: options}
+    else if (typeof options === "undefined") options = {}
+    var strict = options.strict
     if (!data.name && !strict) {
       data.name = ""
       return
@@ -203,7 +206,7 @@ var fixer = module.exports = {
     }
     if (!strict)
       data.name = data.name.trim()
-    ensureValidName(data.name, strict)
+    ensureValidName(data.name, strict, options.allowLegacyCase)
     if (coreModuleNames.indexOf(data.name) !== -1)
       this.warn("conflictingName", data.name)
   }
@@ -314,10 +317,10 @@ function isCorrectlyEncodedName(spec) {
     spec === encodeURIComponent(spec)
 }
 
-function ensureValidName (name, strict) {
+function ensureValidName (name, strict, allowLegacyCase) {
   if (name.charAt(0) === "." ||
       !(isValidScopedPackageName(name) || isCorrectlyEncodedName(name)) ||
-      (strict && name !== name.toLowerCase()) ||
+      (strict && (!allowLegacyCase) && name !== name.toLowerCase()) ||
       name.toLowerCase() === "node_modules" ||
       name.toLowerCase() === "favicon.ico") {
         throw new Error("Invalid name: " + JSON.stringify(name))
index c43a926..7e68c69 100644 (file)
@@ -1,6 +1,8 @@
 module.exports = normalize
 
 var fixer = require("./fixer")
+normalize.fixer = fixer
+
 var makeWarning = require("./make_warning")
 
 var fieldsToFix = ['name','version','description','repository','modules','scripts'
index 5dbc3af..e8ff579 100644 (file)
@@ -1,11 +1,12 @@
 {
   "name": "normalize-package-data",
-  "version": "2.1.0",
+  "version": "2.2.0",
   "author": {
     "name": "Meryn Stol",
     "email": "merynstol@gmail.com"
   },
   "description": "Normalizes data that can be found in package.json files.",
+  "license": "BSD-2-Clause",
   "repository": {
     "type": "git",
     "url": "git://github.com/npm/normalize-package-data.git"
   ],
   "readme": "# normalize-package-data [![Build Status](https://travis-ci.org/npm/normalize-package-data.png?branch=master)](https://travis-ci.org/npm/normalize-package-data)\n\nnormalize-package data exports a function that normalizes package metadata. This data is typically found in a package.json file, but in principle could come from any source - for example the npm registry.\n\nnormalize-package-data is used by [read-package-json](https://npmjs.org/package/read-package-json) to normalize the data it reads from a package.json file. In turn, read-package-json is used by [npm](https://npmjs.org/package/npm) and various npm-related tools.\n\n## Installation\n\n```\nnpm install normalize-package-data\n```\n\n## Usage\n\nBasic usage is really simple. You call the function that normalize-package-data exports. Let's call it `normalizeData`.\n\n```javascript\nnormalizeData = require('normalize-package-data')\npackageData = fs.readFileSync(\"package.json\")\nnormalizeData(packageData)\n// packageData is now normalized\n```\n\n#### Strict mode\n\nYou may activate strict validation by passing true as the second argument.\n\n```javascript\nnormalizeData = require('normalize-package-data')\npackageData = fs.readFileSync(\"package.json\")\nwarnFn = function(msg) { console.error(msg) }\nnormalizeData(packageData, true)\n// packageData is now normalized\n```\n\nIf strict mode is activated, only Semver 2.0 version strings are accepted. Otherwise, Semver 1.0 strings are accepted as well. Packages must have a name, and the name field must not have contain leading or trailing whitespace.\n\n#### Warnings\n\nOptionally, you may pass a \"warning\" function. It gets called whenever the `normalizeData` function encounters something that doesn't look right. It indicates less than perfect input data.\n\n```javascript\nnormalizeData = require('normalize-package-data')\npackageData = fs.readFileSync(\"package.json\")\nwarnFn = function(msg) { console.error(msg) }\nnormalizeData(packageData, warnFn)\n// packageData is now normalized. Any number of warnings may have been logged.\n```\n\nYou may combine strict validation with warnings by passing `true` as the second argument, and `warnFn` as third.\n\nWhen `private` field is set to `true`, warnings will be suppressed.\n\n### Potential exceptions\n\nIf the supplied data has an invalid name or version vield, `normalizeData` will throw an error. Depending on where you call `normalizeData`, you may want to catch these errors so can pass them to a callback.\n\n## What normalization (currently) entails\n\n* The value of `name` field gets trimmed (unless in strict mode).\n* The value of the `version` field gets cleaned by `semver.clean`. See [documentation for the semver module](https://github.com/isaacs/node-semver).\n* If `name` and/or `version` fields are missing, they are set to empty strings.\n* If `files` field is not an array, it will be removed.\n* If `bin` field is a string, then `bin` field will become an object with `name` set to the value of the `name` field, and `bin` set to the original string value.\n* If `man` field is a string, it will become an array with the original string as its sole member.\n* If `keywords` field is string, it is considered to be a list of keywords separated by one or more white-space characters. It gets converted to an array by splitting on `\\s+`.\n* All people fields (`author`, `maintainers`, `contributors`) get converted into objects with name, email and url properties.\n* If `bundledDependencies` field (a typo) exists and `bundleDependencies` field does not, `bundledDependencies` will get renamed to `bundleDependencies`.\n* If the value of any of the dependencies fields  (`dependencies`, `devDependencies`, `optionalDependencies`) is a string, it gets converted into an object with familiar `name=>value` pairs.\n* The values in `optionalDependencies` get added to `dependencies`. The `optionalDependencies` array is left untouched.\n* As of v2: Dependencies that point at known hosted git providers (currently: github, bitbucket, gitlab) will have their URLs canonicalized, but protocols will be preserved.\n* As of v2: Dependencies that use shortcuts for hosted git providers (`org/proj`, `github:org/proj`, `bitbucket:org/proj`, `gitlab:org/proj`, `gist:docid`) will have the shortcut left in place. (In the case of github, the `org/proj` form will be expanded to `github:org/proj`.) THIS MARKS A BREAKING CHANGE FROM V1, where the shorcut was previously expanded to a URL.\n* If `description` field does not exist, but `readme` field does, then (more or less) the first paragraph of text that's found in the readme is taken as value for `description`.\n* If `repository` field is a string, it will become an object with `url` set to the original string value, and `type` set to `\"git\"`.\n* If `repository.url` is not a valid url, but in the style of \"[owner-name]/[repo-name]\", `repository.url` will be set to https://github.com/[owner-name]/[repo-name]\n* If `bugs` field is a string, the value of `bugs` field is changed into an object with `url` set to the original string value.\n* If `bugs` field does not exist, but `repository` field points to a repository hosted on GitHub, the value of the `bugs` field gets set to an url in the form of https://github.com/[owner-name]/[repo-name]/issues . If the repository field points to a GitHub Gist repo url, the associated http url is chosen.\n* If `bugs` field is an object, the resulting value only has email and url properties. If email and url properties are not strings, they are ignored. If no valid values for either email or url is found, bugs field will be removed.\n* If `homepage` field is not a string, it will be removed.\n* If the url in the `homepage` field does not specify a protocol, then http is assumed. For example, `myproject.org` will be changed to `http://myproject.org`.\n* If `homepage` field does not exist, but `repository` field points to a repository hosted on GitHub, the value of the `homepage` field gets set to an url in the form of https://github.com/[owner-name]/[repo-name]/ . If the repository field points to a GitHub Gist repo url, the associated http url is chosen.\n\n### Rules for name field\n\nIf `name` field is given, the value of the name field must be a string. The string may not:\n\n* start with a period.\n* contain the following characters: `/@\\s+%`\n* contain and characters that would need to be encoded for use in urls.\n* resemble the word `node_modules` or `favicon.ico` (case doesn't matter).\n\n### Rules for version field\n\nIf `version` field is given, the value of the version field must be a valid *semver* string, as determined by the `semver.valid` method. See [documentation for the semver module](https://github.com/isaacs/node-semver).\n\n### Rules for license field\n\nThe `license` field should be a valid *SDPDX license expression* string, as determined by the `spdx.valid` method. See [documentation for the spdx module](https://github.com/kemitchell/spdx.js).\n\n## Credits\n\nThis package contains code based on read-package-json written by Isaac Z. Schlueter. Used with permisson.\n\n## License\n\nnormalize-package-data is released under the [BSD 2-Clause License](http://opensource.org/licenses/MIT).  \nCopyright (c) 2013 Meryn Stol  \n",
   "readmeFilename": "README.md",
-  "gitHead": "a168f6153570465db33d96601576b612a63ed446",
+  "gitHead": "5b7630cb2a9c475bc93cc8a05854587f2dc9a26c",
   "bugs": {
     "url": "https://github.com/npm/normalize-package-data/issues"
   },
-  "homepage": "https://github.com/npm/normalize-package-data#readme",
-  "_id": "normalize-package-data@2.1.0",
-  "_shasum": "31381afb0567a8ab0ae730230c8652ff8a0cdd11",
-  "_from": "normalize-package-data@>=2.1.0 <2.2.0"
+  "homepage": "https://github.com/npm/normalize-package-data",
+  "_id": "normalize-package-data@2.2.0",
+  "_shasum": "b4f65b40df659b04820f30a2688db5dabc9dfad9",
+  "_from": "normalize-package-data@2.2.0"
 }
diff --git a/deps/npm/node_modules/normalize-package-data/test/mixedcase-names.js b/deps/npm/node_modules/normalize-package-data/test/mixedcase-names.js
new file mode 100644 (file)
index 0000000..a62b699
--- /dev/null
@@ -0,0 +1,32 @@
+var test = require('tap').test
+
+var normalize = require('../')
+var fixer = normalize.fixer
+
+test('mixedcase', function (t) {
+  t.doesNotThrow(function () {
+    fixer.fixNameField({name: 'foo'}, true)
+  })
+
+  t.doesNotThrow(function () {
+    fixer.fixNameField({name: 'foo'}, false)
+  })
+
+  t.doesNotThrow(function () {
+    fixer.fixNameField({name: 'foo'})
+  })
+
+  t.throws(function () {
+    fixer.fixNameField({name: 'Foo'}, true)
+  }, new Error('Invalid name: "Foo"'), 'should throw an error')
+
+  t.throws(function () {
+    fixer.fixNameField({name: 'Foo'}, {strict: true})
+  }, new Error('Invalid name: "Foo"'), 'should throw an error')
+
+  t.doesNotThrow(function () {
+    fixer.fixNameField({name: 'Foo'}, {strict: true, allowLegacyCase: true})
+  })
+
+  t.end()
+})
index 5cf7675..0be06bb 100644 (file)
@@ -1,13 +1,13 @@
 {
   "name": "npm-package-arg",
-  "version": "4.0.0",
+  "version": "4.0.1",
   "description": "Parse the things that can be arguments to `npm install`",
   "main": "npa.js",
   "directories": {
     "test": "test"
   },
   "dependencies": {
-    "hosted-git-info": "^2.0.2",
+    "hosted-git-info": "^2.1.4",
     "semver": "4"
   },
   "devDependencies": {
@@ -18,7 +18,7 @@
   },
   "repository": {
     "type": "git",
-    "url": "https://github.com/npm/npm-package-arg"
+    "url": "git+https://github.com/npm/npm-package-arg.git"
   },
   "author": {
     "name": "Isaac Z. Schlueter",
     "url": "https://github.com/npm/npm-package-arg/issues"
   },
   "homepage": "https://github.com/npm/npm-package-arg",
-  "gitHead": "25ac404d9f3b77b14be9b05a7dafd9cb99557fdc",
   "readme": "# npm-package-arg\n\nParse package name and specifier passed to commands like `npm install` or\n`npm cache add`.  This just parses the text given-- it's worth noting that\n`npm` has further logic it applies by looking at your disk to figure out\nwhat ambiguous specifiers are.  If you want that logic, please see\n[realize-package-specifier].\n\n[realize-package-specifier]: https://www.npmjs.org/package/realize-package-specifier\n\nArguments look like: `foo@1.2`, `@bar/foo@1.2`, `foo@user/foo`, `http://x.com/foo.tgz`,\n`git+https://github.com/user/foo`, `bitbucket:user/foo`, `foo.tar.gz` or `bar`\n\n## EXAMPLES\n\n```javascript\nvar assert = require(\"assert\")\nvar npa = require(\"npm-package-arg\")\n\n// Pass in the descriptor, and it'll return an object\nvar parsed = npa(\"@bar/foo@1.2\")\n\n// Returns an object like:\n{\n  raw: '@bar/foo@1.2',   // what was passed in\n  name: \"@bar/foo\",      // the name of the package\n  scope: \"@bar\",         // the private scope of the package, or null\n  type: \"range\",         // the type of specifier this is\n  spec: \">=1.2.0 <1.3.0\" // the expanded specifier\n  rawSpec: \"1.2\"         // the specifier as passed in\n }\n\n// Parsing urls pointing at hosted git services produces a variation:\nvar parsed = npa(\"git+https://github.com/user/foo\")\n\n// Returns an object like:\n{\n  raw: 'git+https://github.com/user/foo',\n  scope: null,\n  name: null,\n  rawSpec: 'git+https://github.com/user/foo',\n  spec: 'user/foo',\n  type: 'hosted',\n  hosted: {\n    type: 'github',\n    ssh: 'git@github.com:user/foo.git',\n    sshurl: 'git+ssh://git@github.com/user/foo.git',\n    https: 'https://github.com/user/foo.git',\n    directUrl: 'https://raw.githubusercontent.com/user/foo/master/package.json'\n  }\n}\n\n// Completely unreasonable invalid garbage throws an error\n// Make sure you wrap this in a try/catch if you have not\n// already sanitized the inputs!\nassert.throws(function() {\n  npa(\"this is not \\0 a valid package name or url\")\n})\n```\n\n## USING\n\n`var npa = require('npm-package-arg')`\n\n* var result = npa(*arg*)\n\nParses *arg* and returns a result object detailing what *arg* is.\n\n*arg* -- a package descriptor, like: `foo@1.2`, or `foo@user/foo`, or\n`http://x.com/foo.tgz`, or `git+https://github.com/user/foo`\n\n## RESULT OBJECT\n\nThe objects that are returned by npm-package-arg contain the following\nkeys:\n\n* `name` - If known, the `name` field expected in the resulting pkg.\n* `type` - One of the following strings:\n  * `git` - A git repo\n  * `hosted` - A hosted project, from github, bitbucket or gitlab. Originally\n    either a full url pointing at one of these services or a shorthand like\n    `user/project` or `github:user/project` for github or `bitbucket:user/project`\n    for bitbucket.\n  * `tag` - A tagged version, like `\"foo@latest\"`\n  * `version` - A specific version number, like `\"foo@1.2.3\"`\n  * `range` - A version range, like `\"foo@2.x\"`\n  * `local` - A local file or folder path\n  * `remote` - An http url (presumably to a tgz)\n* `spec` - The \"thing\".  URL, the range, git repo, etc.\n* `hosted` - If type=hosted this will be an object with the following keys:\n  * `type` - github, bitbucket or gitlab\n  * `ssh` - The ssh path for this git repo\n  * `sshUrl` - The ssh URL for this git repo\n  * `httpsUrl` - The HTTPS URL for this git repo\n  * `directUrl` - The URL for the package.json in this git repo\n* `raw` - The original un-modified string that was provided.\n* `rawSpec` - The part after the `name@...`, as it was originally\n  provided.\n* `scope` - If a name is something like `@org/module` then the `scope`\n  field will be set to `org`.  If it doesn't have a scoped name, then\n  scope is `null`.\n",
   "readmeFilename": "README.md",
-  "_id": "npm-package-arg@4.0.0",
-  "_shasum": "04766dc98dbc19f6d627a5817075f4ce13d64a5d",
-  "_from": "npm-package-arg@>=4.0.0 <5.0.0"
+  "gitHead": "794c9981033bb16bd4a88c7ba45c109107439172",
+  "_id": "npm-package-arg@4.0.1",
+  "_shasum": "bfbea17cd2b9fdc4fca2f02796794173dbf1877c",
+  "_from": "npm-package-arg@>=4.0.0 <4.1.0"
 }
index 4991ffc..a3d58c8 100644 (file)
@@ -95,7 +95,7 @@ require("tap").test("basic", function (t) {
     "/path/to/foo": {
       name: null,
       type: "local",
-      spec: "/path/to/foo",
+      spec: path.resolve(__dirname, "/path/to/foo"),
       raw: "/path/to/foo"
     },
 
index 83f99fc..1dff34f 100644 (file)
@@ -57,7 +57,7 @@ require("tap").test("basic", function (t) {
       name: null,
       type: "hosted",
       hosted: { type: "bitbucket" },
-      spec: "https://bitbucket.org/user/foo.git",
+      spec: "git+https://bitbucket.org/user/foo.git",
       raw: "https://bitbucket.org/user/foo.git"
     },
 
index a51cd08..a2c1460 100644 (file)
@@ -73,7 +73,7 @@ require("tap").test("basic", function (t) {
       name: null,
       type: "hosted",
       hosted: { type: "github" },
-      spec: "https://github.com/user/foo.git",
+      spec: "git+https://github.com/user/foo.git",
       raw: "https://github.com/user/foo.git"
     },
 
index 94c9548..c9a8ef9 100644 (file)
@@ -57,7 +57,7 @@ require("tap").test("basic", function (t) {
       name: null,
       type: "hosted",
       hosted: { type: "gitlab" },
-      spec: "https://gitlab.com/user/foo.git",
+      spec: "git+https://gitlab.com/user/foo.git",
       raw: "https://gitlab.com/user/foo.git"
     },
 
index f6f37ab..13e61de 100644 (file)
@@ -5,7 +5,7 @@ var semver = require('semver')
 var crypto = require('crypto')
 var Stream = require('stream').Stream
 var assert = require('assert')
-var fixer = require('normalize-package-data/lib/fixer.js')
+var fixer = require('normalize-package-data').fixer
 var concat = require('concat-stream')
 
 function escaped (name) {
@@ -38,7 +38,7 @@ function publish (uri, params, cb) {
     'must pass package metadata to publish'
   )
   try {
-    fixer.fixNameField(metadata, true)
+    fixer.fixNameField(metadata, {strict: true, allowLegacyCase: true})
   } catch (er) {
     return cb(er)
   }
index 426b40c..5c9224e 100644 (file)
@@ -7,7 +7,7 @@ function star (uri, params, cb) {
   assert(params && typeof params === 'object', 'must pass params to star')
   assert(typeof cb === 'function', 'must pass callback to star')
 
-  var starred = params.starred ? true : false
+  var starred = !!params.starred
 
   var auth = params.auth
   assert(auth && typeof auth === 'object', 'must pass auth to star')
index ee70702..0364d54 100644 (file)
     "browserify"
   ],
   "license": "MIT",
-  "readme": "**string_decoder.js** (`require('string_decoder')`) from Node.js core\n\nCopyright Joyent, Inc. and other Node contributors. See LICENCE file for details.\n\nVersion numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.**\n\nThe *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version.",
-  "readmeFilename": "README.md",
+  "gitHead": "d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0",
   "bugs": {
     "url": "https://github.com/rvagg/string_decoder/issues"
   },
   "_id": "string_decoder@0.10.31",
   "_shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94",
+  "_from": "string_decoder@>=0.10.0 <0.11.0",
+  "_npmVersion": "1.4.23",
+  "_npmUser": {
+    "name": "rvagg",
+    "email": "rod@vagg.org"
+  },
+  "maintainers": [
+    {
+      "name": "substack",
+      "email": "mail@substack.net"
+    },
+    {
+      "name": "rvagg",
+      "email": "rod@vagg.org"
+    }
+  ],
+  "dist": {
+    "shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94",
+    "tarball": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+  },
+  "directories": {},
   "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
-  "_from": "string_decoder@>=0.10.0 <0.11.0"
+  "readme": "ERROR: No README data found!"
 }
index 31a644c..23eacd5 100644 (file)
@@ -6,7 +6,7 @@
   },
   "name": "npm-registry-client",
   "description": "Client for the npm registry",
-  "version": "6.3.3",
+  "version": "6.4.0",
   "repository": {
     "url": "git://github.com/isaacs/npm-registry-client.git"
   },
   "license": "ISC",
   "readme": "# npm-registry-client\n\nThe code that npm uses to talk to the registry.\n\nIt handles all the caching and HTTP calls.\n\n## Usage\n\n```javascript\nvar RegClient = require('npm-registry-client')\nvar client = new RegClient(config)\nvar uri = \"https://registry.npmjs.org/npm\"\nvar params = {timeout: 1000}\n\nclient.get(uri, params, function (error, data, raw, res) {\n  // error is an error if there was a problem.\n  // data is the parsed data object\n  // raw is the json string\n  // res is the response from couch\n})\n```\n\n# Registry URLs\n\nThe registry calls take either a full URL pointing to a resource in the\nregistry, or a base URL for the registry as a whole (including the registry\npath – but be sure to terminate the path with `/`). `http` and `https` URLs are\nthe only ones supported.\n\n## Using the client\n\nEvery call to the client follows the same pattern:\n\n* `uri` {String} The *fully-qualified* URI of the registry API method being\n  invoked.\n* `params` {Object} Per-request parameters.\n* `callback` {Function} Callback to be invoked when the call is complete.\n\n### Credentials\n\nMany requests to the registry can by authenticated, and require credentials\nfor authorization. These credentials always look the same:\n\n* `username` {String}\n* `password` {String}\n* `email` {String}\n* `alwaysAuth` {Boolean} Whether calls to the target registry are always\n  authed.\n\n**or**\n\n* `token` {String}\n* `alwaysAuth` {Boolean} Whether calls to the target registry are always\n  authed.\n\n## API\n\n### client.access(uri, params, cb)\n\n* `uri` {String} Registry URL for the package's access API endpoint.\n  Looks like `/-/package/<package name>/access`.\n* `params` {Object} Object containing per-request properties.\n  * `access` {String} New access level for the package. Can be either\n    `public` or `restricted`. Registry will raise an error if trying\n    to change the access level of an unscoped package.\n  * `auth` {Credentials}\n\nSet the access level for scoped packages. For now, there are only two\naccess levels: \"public\" and \"restricted\".\n\n### client.adduser(uri, params, cb)\n\n* `uri` {String} Base registry URL.\n* `params` {Object} Object containing per-request properties.\n  * `auth` {Credentials}\n* `cb` {Function}\n  * `error` {Error | null}\n  * `data` {Object} the parsed data object\n  * `raw` {String} the json\n  * `res` {Response Object} response from couch\n\nAdd a user account to the registry, or verify the credentials.\n\n### client.deprecate(uri, params, cb)\n\n* `uri` {String} Full registry URI for the deprecated package.\n* `params` {Object} Object containing per-request properties.\n  * `version` {String} Semver version range.\n  * `message` {String} The message to use as a deprecation warning.\n  * `auth` {Credentials}\n* `cb` {Function}\n\nDeprecate a version of a package in the registry.\n\n### client.distTags.fetch(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n  * `package` {String} Name of the package.\n  * `auth` {Credentials}\n* `cb` {Function}\n\nFetch all of the `dist-tags` for the named package.\n\n### client.distTags.add(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n  * `package` {String} Name of the package.\n  * `distTag` {String} Name of the new `dist-tag`.\n  * `version` {String} Exact version to be mapped to the `dist-tag`.\n  * `auth` {Credentials}\n* `cb` {Function}\n\nAdd (or replace) a single dist-tag onto the named package.\n\n### client.distTags.set(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n  * `package` {String} Name of the package.\n  * `distTags` {Object} Object containing a map from tag names to package\n     versions.\n  * `auth` {Credentials}\n* `cb` {Function}\n\nSet all of the `dist-tags` for the named package at once, creating any\n`dist-tags` that do not already exit. Any `dist-tags` not included in the\n`distTags` map will be removed.\n\n### client.distTags.update(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n  * `package` {String} Name of the package.\n  * `distTags` {Object} Object containing a map from tag names to package\n     versions.\n  * `auth` {Credentials}\n* `cb` {Function}\n\nUpdate the values of multiple `dist-tags`, creating any `dist-tags` that do\nnot already exist. Any pre-existing `dist-tags` not included in the `distTags`\nmap will be left alone.\n\n### client.distTags.rm(uri, params, cb)\n\n* `uri` {String} Base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n  * `package` {String} Name of the package.\n  * `distTag` {String} Name of the new `dist-tag`.\n  * `auth` {Credentials}\n* `cb` {Function}\n\nRemove a single `dist-tag` from the named package.\n\n### client.get(uri, params, cb)\n\n* `uri` {String} The complete registry URI to fetch\n* `params` {Object} Object containing per-request properties.\n  * `timeout` {Number} Duration before the request times out. Optional\n    (default: never).\n  * `follow` {Boolean} Follow 302/301 responses. Optional (default: true).\n  * `staleOk` {Boolean} If there's cached data available, then return that to\n    the callback quickly, and update the cache the background. Optional\n    (default: false).\n  * `auth` {Credentials} Optional.\n* `cb` {Function}\n\nFetches data from the registry via a GET request, saving it in the cache folder\nwith the ETag or the \"Last Modified\" timestamp.\n\n### client.publish(uri, params, cb)\n\n* `uri` {String} The registry URI for the package to publish.\n* `params` {Object} Object containing per-request properties.\n  * `metadata` {Object} Package metadata.\n  * `access` {String} Access for the package. Can be `public` or `restricted` (no default).\n  * `body` {Stream} Stream of the package body / tarball.\n  * `auth` {Credentials}\n* `cb` {Function}\n\nPublish a package to the registry.\n\nNote that this does not create the tarball from a folder.\n\n### client.star(uri, params, cb)\n\n* `uri` {String} The complete registry URI for the package to star.\n* `params` {Object} Object containing per-request properties.\n  * `starred` {Boolean} True to star the package, false to unstar it. Optional\n    (default: false).\n  * `auth` {Credentials}\n* `cb` {Function}\n\nStar or unstar a package.\n\nNote that the user does not have to be the package owner to star or unstar a\npackage, though other writes do require that the user be the package owner.\n\n### client.stars(uri, params, cb)\n\n* `uri` {String} The base URL for the registry.\n* `params` {Object} Object containing per-request properties.\n  * `username` {String} Name of user to fetch starred packages for. Optional\n    (default: user in `auth`).\n  * `auth` {Credentials} Optional (required if `username` is omitted).\n* `cb` {Function}\n\nView your own or another user's starred packages.\n\n### client.tag(uri, params, cb)\n\n* `uri` {String} The complete registry URI to tag\n* `params` {Object} Object containing per-request properties.\n  * `version` {String} Version to tag.\n  * `tag` {String} Tag name to apply.\n  * `auth` {Credentials}\n* `cb` {Function}\n\nMark a version in the `dist-tags` hash, so that `pkg@tag` will fetch the\nspecified version.\n\n### client.unpublish(uri, params, cb)\n\n* `uri` {String} The complete registry URI of the package to unpublish.\n* `params` {Object} Object containing per-request properties.\n  * `version` {String} version to unpublish. Optional – omit to unpublish all\n    versions.\n  * `auth` {Credentials}\n* `cb` {Function}\n\nRemove a version of a package (or all versions) from the registry.  When the\nlast version us unpublished, the entire document is removed from the database.\n\n### client.whoami(uri, params, cb)\n\n* `uri` {String} The base registry for the URI.\n* `params` {Object} Object containing per-request properties.\n  * `auth` {Credentials}\n* `cb` {Function}\n\nSimple call to see who the registry thinks you are. Especially useful with\ntoken-based auth.\n\n\n## PLUMBING\n\nThe below are primarily intended for use by the rest of the API, or by the npm\ncaching logic directly.\n\n### client.request(uri, params, cb)\n\n* `uri` {String} URI pointing to the resource to request.\n* `params` {Object} Object containing per-request properties.\n  * `method` {String} HTTP method. Optional (default: \"GET\").\n  * `body` {Stream | Buffer | String | Object} The request body.  Objects\n    that are not Buffers or Streams are encoded as JSON. Optional – body\n    only used for write operations.\n  * `etag` {String} The cached ETag. Optional.\n  * `lastModified` {String} The cached Last-Modified timestamp. Optional.\n  * `follow` {Boolean} Follow 302/301 responses. Optional (default: true).\n  * `auth` {Credentials} Optional.\n* `cb` {Function}\n  * `error` {Error | null}\n  * `data` {Object} the parsed data object\n  * `raw` {String} the json\n  * `res` {Response Object} response from couch\n\nMake a generic request to the registry. All the other methods are wrappers\naround `client.request`.\n\n### client.fetch(uri, params, cb)\n\n* `uri` {String} The complete registry URI to upload to\n* `params` {Object} Object containing per-request properties.\n  * `headers` {Stream} HTTP headers to be included with the request. Optional.\n  * `auth` {Credentials} Optional.\n* `cb` {Function}\n\nFetch a package from a URL, with auth set appropriately if included. Used to\ncache remote tarballs as well as request package tarballs from the registry.\n\n# Configuration\n\nThe client uses its own configuration, which is just passed in as a simple\nnested object. The following are the supported values (with their defaults, if\nany):\n\n* `proxy.http` {URL} The URL to proxy HTTP requests through.\n* `proxy.https` {URL} The URL to proxy HTTPS requests through. Defaults to be\n  the same as `proxy.http` if unset.\n* `proxy.localAddress` {IP} The local address to use on multi-homed systems.\n* `ssl.ca` {String} Certificate signing authority certificates to trust.\n* `ssl.certificate` {String} Client certificate (PEM encoded). Enable access\n  to servers that require client certificates.\n* `ssl.key` {String} Private key (PEM encoded) for client certificate.\n* `ssl.strict` {Boolean} Whether or not to be strict with SSL certificates.\n  Default = `true`\n* `retry.count` {Number} Number of times to retry on GET failures. Default = 2.\n* `retry.factor` {Number} `factor` setting for `node-retry`. Default = 10.\n* `retry.minTimeout` {Number} `minTimeout` setting for `node-retry`.\n  Default = 10000 (10 seconds)\n* `retry.maxTimeout` {Number} `maxTimeout` setting for `node-retry`.\n  Default = 60000 (60 seconds)\n* `userAgent` {String} User agent header to send. Default =\n  `\"node/{process.version}\"`\n* `log` {Object} The logger to use.  Defaults to `require(\"npmlog\")` if\n  that works, otherwise logs are disabled.\n* `defaultTag` {String} The default tag to use when publishing new packages.\n  Default = `\"latest\"`\n* `couchToken` {Object} A token for use with\n  [couch-login](https://npmjs.org/package/couch-login).\n* `sessionToken` {string} A random identifier for this set of client requests.\n  Default = 8 random hexadecimal bytes.\n",
   "readmeFilename": "README.md",
-  "gitHead": "bd0ab6fb27f614fca299bc9426dcfbea2fc83adc",
+  "gitHead": "a8d3193832487fb2e6b5015e30d15fe1b15f48e2",
   "bugs": {
     "url": "https://github.com/isaacs/npm-registry-client/issues"
   },
-  "homepage": "https://github.com/isaacs/npm-registry-client#readme",
-  "_id": "npm-registry-client@6.3.3",
-  "_shasum": "fe9cc45b3b8404dfa888b99d7aff3964f3470fb0",
-  "_from": "npm-registry-client@6.3.3"
+  "homepage": "https://github.com/isaacs/npm-registry-client",
+  "_id": "npm-registry-client@6.4.0",
+  "_shasum": "4da1adfd1b63c9a7b9a6626eb10e36665c29b5f4",
+  "_from": "npm-registry-client@6.4.0"
 }
diff --git a/deps/npm/node_modules/npm-registry-client/test/publish-mixcase-name.js b/deps/npm/node_modules/npm-registry-client/test/publish-mixcase-name.js
new file mode 100644 (file)
index 0000000..f2cc1d6
--- /dev/null
@@ -0,0 +1,91 @@
+var tap = require('tap')
+var fs = require('fs')
+
+var server = require('./lib/server.js')
+var common = require('./lib/common.js')
+
+var auth = {
+  username: 'username',
+  password: '%1234@asdf%',
+  email: 'i@izs.me',
+  alwaysAuth: true
+}
+
+var client = common.freshClient()
+
+tap.test('publish mixcase name', function (t) {
+  // not really a tarball, but doesn't matter
+  var bodyPath = require.resolve('../package.json')
+  var tarball = fs.createReadStream(bodyPath)
+  var pd = fs.readFileSync(bodyPath, 'base64')
+  var pkg = require('../package.json')
+  var lastTime = null
+
+  // change to mixed case name
+  pkg.name = 'npm-Registry-Client'
+
+  server.expect('/npm-Registry-Client', function (req, res) {
+    t.equal(req.method, 'PUT')
+    var b = ''
+    req.setEncoding('utf8')
+    req.on('data', function (d) {
+      b += d
+    })
+
+    req.on('end', function () {
+      var o = lastTime = JSON.parse(b)
+      t.equal(o._id, 'npm-Registry-Client')
+      t.equal(o['dist-tags'].latest, pkg.version)
+      t.has(o.versions[pkg.version], pkg)
+      t.same(o.maintainers, [ { name: 'username', email: 'i@izs.me' } ])
+      var att = o._attachments[ pkg.name + '-' + pkg.version + '.tgz' ]
+      t.same(att.data, pd)
+      res.statusCode = 409
+      res.json({reason: 'must supply latest _rev to update existing package'})
+    })
+  })
+
+  server.expect('/npm-Registry-Client?write=true', function (req, res) {
+    t.equal(req.method, 'GET')
+    t.ok(lastTime)
+    for (var i in lastTime.versions) {
+      var v = lastTime.versions[i]
+      delete lastTime.versions[i]
+      lastTime.versions['0.0.2'] = v
+      lastTime['dist-tags'] = { latest: '0.0.2' }
+    }
+    lastTime._rev = 'asdf'
+    res.json(lastTime)
+  })
+
+  server.expect('/npm-Registry-Client', function (req, res) {
+    t.equal(req.method, 'PUT')
+    t.ok(lastTime)
+
+    var b = ''
+    req.setEncoding('utf8')
+    req.on('data', function (d) {
+      b += d
+    })
+
+    req.on('end', function () {
+      var o = JSON.parse(b)
+      t.equal(o._rev, 'asdf')
+      t.deepEqual(o.versions['0.0.2'], o.versions[pkg.version])
+      res.statusCode = 201
+      res.json({created: true})
+    })
+  })
+
+  var params = {
+    metadata: pkg,
+    access: 'public',
+    body: tarball,
+    auth: auth
+  }
+  client.publish('http://localhost:1337/', params, function (er, data) {
+    if (er) throw er
+    t.deepEqual(data, { created: true })
+    t.end()
+  })
+})
diff --git a/deps/npm/node_modules/npm-registry-client/test/publish-new-mixcase-name.js b/deps/npm/node_modules/npm-registry-client/test/publish-new-mixcase-name.js
new file mode 100644 (file)
index 0000000..5b0e476
--- /dev/null
@@ -0,0 +1,72 @@
+var test = require('tap').test
+var crypto = require('crypto')
+var fs = require('fs')
+
+var server = require('./lib/server.js')
+var common = require('./lib/common.js')
+var client = common.freshClient()
+
+var URI = 'http://localhost:1337/'
+var USERNAME = 'username'
+var PASSWORD = '%1234@asdf%'
+var EMAIL = 'i@izs.me'
+var METADATA = require('../package.json')
+var ACCESS = 'public'
+// not really a tarball, but doesn't matter
+var BODY_PATH = require.resolve('../package.json')
+var BODY = fs.createReadStream(BODY_PATH)
+var AUTH = {
+  username: USERNAME,
+  password: PASSWORD,
+  email: EMAIL
+}
+var PARAMS = {
+  metadata: METADATA,
+  access: ACCESS,
+  body: BODY,
+  auth: AUTH
+}
+
+test('publish-new-mixcase-name', function (t) {
+  var pd = fs.readFileSync(BODY_PATH, 'base64')
+
+  // change to mixed-case name
+  METADATA.name = 'npm-Registry-Client'
+
+  server.expect('/npm-Registry-Client', function (req, res) {
+    t.equal(req.method, 'PUT')
+    var b = ''
+    req.setEncoding('utf8')
+    req.on('data', function (d) {
+      b += d
+    })
+
+    req.on('end', function () {
+      var o = JSON.parse(b)
+      t.equal(o._id, 'npm-Registry-Client')
+      t.equal(o['dist-tags'].latest, METADATA.version)
+      t.equal(o.access, ACCESS)
+      t.has(o.versions[METADATA.version], METADATA)
+      t.same(o.maintainers, [{ name: 'username', email: 'i@izs.me' }])
+      t.same(o.maintainers, o.versions[METADATA.version].maintainers)
+
+      var att = o._attachments[METADATA.name + '-' + METADATA.version + '.tgz']
+      t.same(att.data, pd)
+
+      var hash = crypto.createHash('sha1').update(pd, 'base64').digest('hex')
+      t.equal(o.versions[METADATA.version].dist.shasum, hash)
+
+      res.statusCode = 403
+      res.json({error: 'Name must be lower-case'})
+    })
+  })
+
+  client.publish(URI, PARAMS, function (er, data, json, res) {
+    t.assert(er instanceof Error) // expect error
+
+    // TODO: need a test that ensures useful error message
+    // t.similar(data.error, /must be lower-case/)
+
+    t.end()
+  })
+})
index b3086b4..68af9bc 100644 (file)
@@ -81,7 +81,7 @@ test('request call contract', function (t) {
 })
 
 test('run request through its paces', function (t) {
-  t.plan(28)
+  t.plan(29)
 
   server.expect('/request-defaults', function (req, res) {
     t.equal(req.method, 'GET', 'uses GET by default')
index cf44403..8a27d7c 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "npm-user-validate",
-  "version": "0.1.1",
+  "version": "0.1.2",
   "description": "User validations for npm",
   "main": "npm-user-validate.js",
   "devDependencies": {
     "name": "Robert Kowalski",
     "email": "rok@kowalski.gd"
   },
-  "license": "BSD",
-  "gitHead": "64c9bd4ded742c41afdb3a8414fbbfdbfdcdf6b7",
+  "license": "BSD-2-Clause",
+  "gitHead": "e5b280babff5b73fe74b496461bcf424a51881e1",
   "bugs": {
     "url": "https://github.com/npm/npm-user-validate/issues"
   },
-  "homepage": "https://github.com/npm/npm-user-validate",
-  "_id": "npm-user-validate@0.1.1",
-  "_shasum": "ea7774636c3c8fe6d01e174bd9f2ee0e22eeed57",
+  "homepage": "https://github.com/npm/npm-user-validate#readme",
+  "_id": "npm-user-validate@0.1.2",
+  "_shasum": "d585da0b47c9f41a9e6ca684b6fd84ba41ebe87d",
   "_from": "npm-user-validate@>=0.1.1 <0.2.0",
-  "_npmVersion": "2.1.3",
-  "_nodeVersion": "0.10.31",
+  "_npmVersion": "2.10.0",
+  "_nodeVersion": "2.0.1",
   "_npmUser": {
     "name": "isaacs",
-    "email": "i@izs.me"
+    "email": "isaacs@npmjs.com"
+  },
+  "dist": {
+    "shasum": "d585da0b47c9f41a9e6ca684b6fd84ba41ebe87d",
+    "tarball": "http://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.2.tgz"
   },
   "maintainers": [
     {
       "email": "i@izs.me"
     }
   ],
-  "dist": {
-    "shasum": "ea7774636c3c8fe6d01e174bd9f2ee0e22eeed57",
-    "tarball": "http://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.1.tgz"
-  },
   "directories": {},
-  "_resolved": "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.1.tgz"
+  "_resolved": "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.2.tgz"
 }
index 0c44ae7..19129e3 100644 (file)
@@ -1,27 +1,15 @@
-Copyright (c) Isaac Z. Schlueter ("Author")
-All rights reserved.
+The ISC License
 
-The BSD License
+Copyright (c) Isaac Z. Schlueter and Contributors
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
 
-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 AUTHOR 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 AUTHOR 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.
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
index 067f6ff..8bf6422 100644 (file)
@@ -32,12 +32,12 @@ log.progressEnabled = false
 var gaugeTheme = undefined
 
 log.enableUnicode = function () {
-  gaugeTheme = gauge.unicode
+  gaugeTheme = Gauge.unicode
   log.gauge.setTheme(gaugeTheme)
 }
 
 log.disableUnicode = function () {
-  gaugeTheme = gauge.ascii
+  gaugeTheme = Gauge.ascii
   log.gauge.setTheme(gaugeTheme)
 }
 
index e22f637..ea3c1da 100644 (file)
@@ -3,7 +3,7 @@
   "version": "0.1.0",
   "repository": {
     "type": "git",
-    "url": "git://github.com/visionmedia/node-delegates"
+    "url": "git://github.com/visionmedia/node-delegates.git"
   },
   "description": "delegate methods and accessors to another property",
   "keywords": [
@@ -43,5 +43,6 @@
     "tarball": "http://registry.npmjs.org/delegates/-/delegates-0.1.0.tgz"
   },
   "directories": {},
-  "_resolved": "https://registry.npmjs.org/delegates/-/delegates-0.1.0.tgz"
+  "_resolved": "https://registry.npmjs.org/delegates/-/delegates-0.1.0.tgz",
+  "readme": "ERROR: No README data found!"
 }
index 2155d11..b673333 100644 (file)
@@ -5,7 +5,7 @@
   "main": "lib/util.js",
   "repository": {
     "type": "git",
-    "url": "git://github.com/isaacs/core-util-is"
+    "url": "git://github.com/isaacs/core-util-is.git"
   },
   "keywords": [
     "util",
   },
   "readme": "# core-util-is\n\nThe `util.is*` functions introduced in Node v0.12.\n",
   "readmeFilename": "README.md",
-  "homepage": "https://github.com/isaacs/core-util-is",
+  "homepage": "https://github.com/isaacs/core-util-is#readme",
   "_id": "core-util-is@1.0.1",
-  "dist": {
-    "shasum": "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538",
-    "tarball": "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
-  },
-  "_from": "core-util-is@>=1.0.0 <1.1.0",
-  "_npmVersion": "1.3.23",
-  "_npmUser": {
-    "name": "isaacs",
-    "email": "i@izs.me"
-  },
-  "maintainers": [
-    {
-      "name": "isaacs",
-      "email": "i@izs.me"
-    }
-  ],
-  "directories": {},
   "_shasum": "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538",
-  "_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
+  "_resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz",
+  "_from": "core-util-is@>=1.0.0 <1.1.0"
 }
index 19228ab..fb1eb37 100644 (file)
     "url": "http://juliangruber.com"
   },
   "license": "MIT",
-  "_id": "isarray@0.0.1",
-  "dist": {
-    "shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf",
-    "tarball": "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
-  },
-  "_from": "isarray@0.0.1",
-  "_npmVersion": "1.2.18",
-  "_npmUser": {
-    "name": "juliangruber",
-    "email": "julian@juliangruber.com"
-  },
-  "maintainers": [
-    {
-      "name": "juliangruber",
-      "email": "julian@juliangruber.com"
-    }
-  ],
-  "directories": {},
-  "_shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf",
-  "_resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+  "readme": "\n# isarray\n\n`Array#isArray` for older browsers.\n\n## Usage\n\n```js\nvar isArray = require('isarray');\n\nconsole.log(isArray([])); // => true\nconsole.log(isArray({})); // => false\n```\n\n## Installation\n\nWith [npm](http://npmjs.org) do\n\n```bash\n$ npm install isarray\n```\n\nThen bundle for the browser with\n[browserify](https://github.com/substack/browserify).\n\nWith [component](http://component.io) do\n\n```bash\n$ component install juliangruber/isarray\n```\n\n## License\n\n(MIT)\n\nCopyright (c) 2013 Julian Gruber &lt;julian@juliangruber.com&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies\nof the Software, and to permit persons to whom the Software is furnished to do\nso, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n",
+  "readmeFilename": "README.md",
   "bugs": {
     "url": "https://github.com/juliangruber/isarray/issues"
   },
-  "readme": "ERROR: No README data found!"
+  "_id": "isarray@0.0.1",
+  "_shasum": "8a18acfca9a8f4177e09abfc6038939b05d1eedf",
+  "_resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+  "_from": "isarray@0.0.1"
 }
index 0364d54..ee70702 100644 (file)
     "browserify"
   ],
   "license": "MIT",
-  "gitHead": "d46d4fd87cf1d06e031c23f1ba170ca7d4ade9a0",
+  "readme": "**string_decoder.js** (`require('string_decoder')`) from Node.js core\n\nCopyright Joyent, Inc. and other Node contributors. See LICENCE file for details.\n\nVersion numbers match the versions found in Node core, e.g. 0.10.24 matches Node 0.10.24, likewise 0.11.10 matches Node 0.11.10. **Prefer the stable version over the unstable.**\n\nThe *build/* directory contains a build script that will scrape the source from the [joyent/node](https://github.com/joyent/node) repo given a specific Node version.",
+  "readmeFilename": "README.md",
   "bugs": {
     "url": "https://github.com/rvagg/string_decoder/issues"
   },
   "_id": "string_decoder@0.10.31",
   "_shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94",
-  "_from": "string_decoder@>=0.10.0 <0.11.0",
-  "_npmVersion": "1.4.23",
-  "_npmUser": {
-    "name": "rvagg",
-    "email": "rod@vagg.org"
-  },
-  "maintainers": [
-    {
-      "name": "substack",
-      "email": "mail@substack.net"
-    },
-    {
-      "name": "rvagg",
-      "email": "rod@vagg.org"
-    }
-  ],
-  "dist": {
-    "shasum": "62e203bc41766c6c28c9fc84301dab1c5310fa94",
-    "tarball": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
-  },
-  "directories": {},
   "_resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
-  "readme": "ERROR: No README data found!"
+  "_from": "string_decoder@>=0.10.0 <0.11.0"
 }
index 749db2f..fca8832 100644 (file)
@@ -17,7 +17,7 @@
   },
   "repository": {
     "type": "git",
-    "url": "git://github.com/isaacs/readable-stream"
+    "url": "git://github.com/isaacs/readable-stream.git"
   },
   "keywords": [
     "readable",
index 6c981da..7591006 100644 (file)
@@ -8,7 +8,7 @@
   },
   "repository": {
     "type": "git",
-    "url": "https://github.com/iarna/are-we-there-yet.git"
+    "url": "git+https://github.com/iarna/are-we-there-yet.git"
   },
   "author": {
     "name": "Rebecca Turner",
@@ -46,5 +46,6 @@
     "tarball": "http://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.4.tgz"
   },
   "directories": {},
-  "_resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.4.tgz"
+  "_resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.4.tgz",
+  "readme": "ERROR: No README data found!"
 }
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/README.md~ b/deps/npm/node_modules/npmlog/node_modules/gauge/README.md~
deleted file mode 100644 (file)
index eec841b..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-gauge
-=====
-
-A nearly stateless terminal based horizontal guage / progress bar.
-
-```javascript
-var Gauge = require("gauge")
-
-var gauge = new Gauge()
-
-gauge.show("test", 0.20)
-
-gauge.pulse("this")
-
-gauge.hide()
-```
-
-![](example.png)
-
-
-### `var gauge = new Gauge([options], [ansiStream])`
-
-* **options** – *(optional)* An option object. (See [below] for details.)
-* **ansiStream** – *(optional)* A stream that's been blessed by the [ansi]
-  module to include various commands for controlling the cursor in a terminal.
-
-[ansi]: https://www.npmjs.com/package/ansi
-[below]: #theme-objects
-
-Constructs a new gauge. Gauges are drawn on a single line, and are not drawn
-if the current terminal isn't a tty.
-
-The **options** object can have the following properties, all of which are
-optional:
-
-* maxUpdateFrequency: defaults to 50 msec, the gauge will not be drawn more
-  than once in this period of time. This applies to `show` and `pulse`
-  calls, but if you `hide` and then `show` the gauge it will draw it
-  regardless of time since last draw.
-* theme: defaults to Gauge.unicode` if the terminal supports
-  unicode according to [has-unicode], otherwise it defaults to `Gauge.ascii`.
-  Details on the [theme object](#theme-objects) are documented elsewhere.
-* template: see [documentation elsewhere](#template-objects) for
-  defaults and details.
-
-[has-unicode]: https://www.npmjs.com/package/has-unicode
-
-If **ansiStream** isn't passed in, then one will be constructed from stderr
-with `ansi(process.stderr)`.
-
-### `gauge.show([name, [completed]])`
-
-* **name** – *(optional)* The name of the current thing contributing to progress. Defaults to the last value used, or "".
-* **completed** – *(optional)* The portion completed as a value between 0 and 1. Defaults to the last value used, or 0.
-
-If `process.stdout.isTTY` is false then this does nothing. If completed is 0
-and `gauge.pulse` has never been called, then similarly nothing will be printed.
-
-If `maxUpdateFrequency` msec haven't passed since the last call to `show` or
-`pulse` then similarly, nothing will be printed.  (Actually, the update is
-deferred until `maxUpdateFrequency` msec have passed and if nothing else has
-happened, the gauge update will happen.)
-
-### `gauge.hide()`
-
-Removes the gauge from the terminal.
-
-### `gauge.pulse([name])`
-
-* **name** – *(optional)* The specific thing that triggered this pulse
-
-Spins the spinner in the gauge to show output. If **name** is included then
-it will be combined with the last name passed to `gauge.show` using the
-subsection property of the theme (typically a right facing arrow).
-
-### `gauge.disable()`
-
-Hides the gauge and ignores further calls to `show` or `pulse`.
-
-### `gauge.enable()`
-
-Shows the gauge and resumes updating when `show` or `pulse` is called.
-
-### Theme Objects
-
-There are two theme objects available as a part of the module, `Gauge.unicode` and `Gauge.ascii`.
-Theme objects have the follow properties:
-
-| Property   | Unicode | ASCII |
-| ---------- | ------- | ----- |
-| startgroup | ╢       | \|    |
-| endgroup   | ╟       | \|    |
-| complete   | █       | #     |
-| incomplete | ░       | -     |
-| spinner    | ▀▐▄▌    | -\\\|/ |
-| subsection | →       | ->    |
-
-*startgroup*, *endgroup* and *subsection* can be as many characters as you want.
-
-*complete* and *incomplete* should be a single character width each.
-
-*spinner* is a list of characters to use in turn when displaying an activity
-spinner.  The Gauge will spin as many characters as you give here.
-
-### Template Objects
-
-A template is an array of objects and strings that, after being evaluated,
-will be turned into the gauge line.  The default template is:
-
-```javascript
-[
-    {type: "name", separated: true, maxLength: 25, minWidth: 25, align: "left"},
-    {type: "spinner", separated: true},
-    {type: "startgroup"},
-    {type: "completionbar"},
-    {type: "endgroup"}
-]
-```
-
-The various template elements can either be **plain strings**, in which case they will
-be be included verbatum in the output.
-
-If the template element is an object, it can have the following keys:
-
-* *type* can be:
-  * `name` – The most recent name passed to `show`; if this is in response to a 
-    `pulse` then the name passed to `pulse` will be appended along with the
-    subsection property from the theme.
-  * `spinner` – If you've ever called `pulse` this will be one of the characters
-    from the spinner property of the theme.
-  * `startgroup` – The `startgroup` property from the theme.
-  * `completionbar` – This progress bar itself
-  * `endgroup` – The `endgroup` property from the theme.
-* *separated* – If true, the element will be separated with spaces from things on
-  either side (and margins count as space, so it won't be indented), but only
-  if its included.
-* *maxLength* – The maximum length for this element. If its value is longer it
-  will be truncated.
-* *minLength* – The minimum length for this element. If its value is shorter it
-  will be padded according to the *align* value.
-* *align* – (Default: left) Possible values "left", "right" and "center". Works
-  as you'd expect from word processors.
-* *length* – Provides a single value for both *minLength* and *maxLength*. If both 
-  *length* and *minLength or *maxLength* are specifed then the latter take precedence.
-
-### Tracking Completion
-
-If you have more than one thing going on that you want to track completion
-of, you may find the related [are-we-there-yet] helpful.  It's `change`
-event can be wired up to the `show` method to get a more traditional
-progress bar interface.
-
-[are-we-there-yet]: https://www.npmjs.com/package/are-we-there-yet
diff --git a/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/README.md~ b/deps/npm/node_modules/npmlog/node_modules/gauge/node_modules/has-unicode/README.md~
deleted file mode 100644 (file)
index e712b70..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-has-unicode
-===========
-
-Try to guess if your terminal supports unicode
index 7126e01..fd552a9 100644 (file)
@@ -8,7 +8,7 @@
   },
   "repository": {
     "type": "git",
-    "url": "https://github.com/iarna/has-unicode"
+    "url": "git+https://github.com/iarna/has-unicode.git"
   },
   "keywords": [
     "unicode",
@@ -48,5 +48,6 @@
     "tarball": "http://registry.npmjs.org/has-unicode/-/has-unicode-1.0.0.tgz"
   },
   "directories": {},
-  "_resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-1.0.0.tgz"
+  "_resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-1.0.0.tgz",
+  "readme": "ERROR: No README data found!"
 }
index e46c18b..dfb815b 100644 (file)
@@ -39,7 +39,7 @@
   ],
   "repository": {
     "type": "git",
-    "url": "https://github.com/lodash/lodash"
+    "url": "git+https://github.com/lodash/lodash.git"
   },
   "scripts": {
     "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
index 1b1019b..de5156d 100644 (file)
@@ -45,7 +45,7 @@
   ],
   "repository": {
     "type": "git",
-    "url": "https://github.com/lodash/lodash"
+    "url": "git+https://github.com/lodash/lodash.git"
   },
   "scripts": {
     "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
index 65ead27..ffe7972 100644 (file)
@@ -39,7 +39,7 @@
   ],
   "repository": {
     "type": "git",
-    "url": "https://github.com/lodash/lodash"
+    "url": "git+https://github.com/lodash/lodash.git"
   },
   "scripts": {
     "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
index 6813157..6f028c0 100644 (file)
@@ -45,7 +45,7 @@
   ],
   "repository": {
     "type": "git",
-    "url": "https://github.com/lodash/lodash"
+    "url": "git+https://github.com/lodash/lodash.git"
   },
   "scripts": {
     "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
@@ -93,5 +93,6 @@
     "tarball": "http://registry.npmjs.org/lodash.pad/-/lodash.pad-3.1.0.tgz"
   },
   "directories": {},
-  "_resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-3.1.0.tgz"
+  "_resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-3.1.0.tgz",
+  "readme": "ERROR: No README data found!"
 }
index bb634f5..641b4d6 100644 (file)
@@ -1,4 +1,4 @@
-# lodash.padleft v3.1.0
+# lodash.padleft v3.1.1
 
 The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.padLeft` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
 
@@ -17,4 +17,4 @@ In Node.js/io.js:
 var padLeft = require('lodash.padleft');
 ```
 
-See the [documentation](https://lodash.com/docs#padLeft) or [package source](https://github.com/lodash/lodash/blob/3.1.0-npm-packages/lodash.padleft) for more details.
+See the [documentation](https://lodash.com/docs#padLeft) or [package source](https://github.com/lodash/lodash/blob/3.1.1-npm-packages/lodash.padleft) for more details.
index 69638d3..2abb69a 100644 (file)
@@ -1,8 +1,8 @@
 /**
- * lodash 3.1.0 (Custom Build) <https://lodash.com/>
+ * lodash 3.1.1 (Custom Build) <https://lodash.com/>
  * Build: `lodash modern modularize exports="npm" -o ./`
  * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
- * Based on Underscore.js 1.8.2 <http://underscorejs.org/LICENSE>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
  * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
  * Available under MIT license <https://lodash.com/license>
  */
@@ -19,7 +19,7 @@ var baseToString = require('lodash._basetostring'),
 function createPadDir(fromRight) {
   return function(string, length, chars) {
     string = baseToString(string);
-    return string && ((fromRight ? string : '') + createPadding(string, length, chars) + (fromRight ? '' : string));
+    return (fromRight ? string : '') + createPadding(string, length, chars) + (fromRight ? '' : string);
   };
 }
 
index 2fb9356..55b0c25 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "lodash.padleft",
-  "version": "3.1.0",
+  "version": "3.1.1",
   "description": "The modern build of lodash’s `_.padLeft` as a module.",
   "homepage": "https://lodash.com/",
   "icon": "https://lodash.com/icon.svg",
@@ -45,7 +45,7 @@
   ],
   "repository": {
     "type": "git",
-    "url": "https://github.com/lodash/lodash"
+    "url": "git+https://github.com/lodash/lodash.git"
   },
   "scripts": {
     "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
   "bugs": {
     "url": "https://github.com/lodash/lodash/issues"
   },
-  "_id": "lodash.padleft@3.1.0",
-  "_shasum": "ac94eeeb3ec4df6394b893c6f4f7faa5cb96a5c1",
+  "_id": "lodash.padleft@3.1.1",
+  "_shasum": "150151f1e0245edba15d50af2d71f1d5cff46530",
   "_from": "lodash.padleft@>=3.0.0 <4.0.0",
-  "_npmVersion": "2.7.3",
-  "_nodeVersion": "0.12.0",
+  "_npmVersion": "2.9.0",
+  "_nodeVersion": "0.12.2",
   "_npmUser": {
     "name": "jdalton",
     "email": "john.david.dalton@gmail.com"
     }
   ],
   "dist": {
-    "shasum": "ac94eeeb3ec4df6394b893c6f4f7faa5cb96a5c1",
-    "tarball": "http://registry.npmjs.org/lodash.padleft/-/lodash.padleft-3.1.0.tgz"
+    "shasum": "150151f1e0245edba15d50af2d71f1d5cff46530",
+    "tarball": "http://registry.npmjs.org/lodash.padleft/-/lodash.padleft-3.1.1.tgz"
   },
   "directories": {},
-  "_resolved": "https://registry.npmjs.org/lodash.padleft/-/lodash.padleft-3.1.0.tgz"
+  "_resolved": "https://registry.npmjs.org/lodash.padleft/-/lodash.padleft-3.1.1.tgz",
+  "readme": "ERROR: No README data found!"
 }
index e1a742a..bcd6e57 100644 (file)
@@ -1,4 +1,4 @@
-# lodash.padright v3.1.0
+# lodash.padright v3.1.1
 
 The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.padRight` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
 
@@ -17,4 +17,4 @@ In Node.js/io.js:
 var padRight = require('lodash.padright');
 ```
 
-See the [documentation](https://lodash.com/docs#padRight) or [package source](https://github.com/lodash/lodash/blob/3.1.0-npm-packages/lodash.padright) for more details.
+See the [documentation](https://lodash.com/docs#padRight) or [package source](https://github.com/lodash/lodash/blob/3.1.1-npm-packages/lodash.padright) for more details.
index 252e0a1..6de81c4 100644 (file)
@@ -1,8 +1,8 @@
 /**
- * lodash 3.1.0 (Custom Build) <https://lodash.com/>
+ * lodash 3.1.1 (Custom Build) <https://lodash.com/>
  * Build: `lodash modern modularize exports="npm" -o ./`
  * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
- * Based on Underscore.js 1.8.2 <http://underscorejs.org/LICENSE>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
  * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
  * Available under MIT license <https://lodash.com/license>
  */
@@ -19,7 +19,7 @@ var baseToString = require('lodash._basetostring'),
 function createPadDir(fromRight) {
   return function(string, length, chars) {
     string = baseToString(string);
-    return string && ((fromRight ? string : '') + createPadding(string, length, chars) + (fromRight ? '' : string));
+    return (fromRight ? string : '') + createPadding(string, length, chars) + (fromRight ? '' : string);
   };
 }
 
index 014e6de..2a40f94 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "lodash.padright",
-  "version": "3.1.0",
+  "version": "3.1.1",
   "description": "The modern build of lodash’s `_.padRight` as a module.",
   "homepage": "https://lodash.com/",
   "icon": "https://lodash.com/icon.svg",
@@ -45,7 +45,7 @@
   ],
   "repository": {
     "type": "git",
-    "url": "https://github.com/lodash/lodash"
+    "url": "git+https://github.com/lodash/lodash.git"
   },
   "scripts": {
     "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
   "bugs": {
     "url": "https://github.com/lodash/lodash/issues"
   },
-  "_id": "lodash.padright@3.1.0",
-  "_shasum": "155aa4ed10f4103829031a14516dcb5f3f6c777f",
+  "_id": "lodash.padright@3.1.1",
+  "_shasum": "79f7770baaa39738c040aeb5465e8d88f2aacec0",
   "_from": "lodash.padright@>=3.0.0 <4.0.0",
-  "_npmVersion": "2.7.3",
-  "_nodeVersion": "0.12.0",
+  "_npmVersion": "2.9.0",
+  "_nodeVersion": "0.12.2",
   "_npmUser": {
     "name": "jdalton",
     "email": "john.david.dalton@gmail.com"
     }
   ],
   "dist": {
-    "shasum": "155aa4ed10f4103829031a14516dcb5f3f6c777f",
-    "tarball": "http://registry.npmjs.org/lodash.padright/-/lodash.padright-3.1.0.tgz"
+    "shasum": "79f7770baaa39738c040aeb5465e8d88f2aacec0",
+    "tarball": "http://registry.npmjs.org/lodash.padright/-/lodash.padright-3.1.1.tgz"
   },
   "directories": {},
-  "_resolved": "https://registry.npmjs.org/lodash.padright/-/lodash.padright-3.1.0.tgz"
+  "_resolved": "https://registry.npmjs.org/lodash.padright/-/lodash.padright-3.1.1.tgz",
+  "readme": "ERROR: No README data found!"
 }
index 8e2f331..227173e 100644 (file)
@@ -8,7 +8,7 @@
   },
   "repository": {
     "type": "git",
-    "url": "https://github.com/iarna/gauge"
+    "url": "git+https://github.com/iarna/gauge.git"
   },
   "keywords": [
     "progressbar",
@@ -55,5 +55,6 @@
     "tarball": "http://registry.npmjs.org/gauge/-/gauge-1.2.0.tgz"
   },
   "directories": {},
-  "_resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.0.tgz"
+  "_resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.0.tgz",
+  "readme": "ERROR: No README data found!"
 }
index da9bcd6..1613546 100644 (file)
@@ -6,7 +6,7 @@
   },
   "name": "npmlog",
   "description": "logger for npm",
-  "version": "1.2.0",
+  "version": "1.2.1",
   "repository": {
     "type": "git",
     "url": "git://github.com/isaacs/npmlog.git"
   "devDependencies": {
     "tap": ""
   },
-  "license": "BSD",
-  "gitHead": "1fe2892a8b9dacb775d4fb365315865f421f4ca9",
+  "license": "ISC",
+  "gitHead": "4e1a73a567036064ded425a7d48c863d53550b4f",
   "bugs": {
     "url": "https://github.com/isaacs/npmlog/issues"
   },
-  "homepage": "https://github.com/isaacs/npmlog",
-  "_id": "npmlog@1.2.0",
-  "_shasum": "b512f18ae8696a0192ada78ba00c06dbbd91bafb",
-  "_from": "npmlog@>=1.2.0 <1.3.0",
-  "_npmVersion": "2.6.0",
-  "_nodeVersion": "1.1.0",
+  "homepage": "https://github.com/isaacs/npmlog#readme",
+  "_id": "npmlog@1.2.1",
+  "_shasum": "28e7be619609b53f7ad1dd300a10d64d716268b6",
+  "_from": "npmlog@>=1.2.1 <1.3.0",
+  "_npmVersion": "2.10.0",
+  "_nodeVersion": "2.0.1",
   "_npmUser": {
-    "name": "iarna",
-    "email": "me@re-becca.org"
+    "name": "isaacs",
+    "email": "isaacs@npmjs.com"
+  },
+  "dist": {
+    "shasum": "28e7be619609b53f7ad1dd300a10d64d716268b6",
+    "tarball": "http://registry.npmjs.org/npmlog/-/npmlog-1.2.1.tgz"
   },
   "maintainers": [
     {
       "email": "me@re-becca.org"
     }
   ],
-  "dist": {
-    "shasum": "b512f18ae8696a0192ada78ba00c06dbbd91bafb",
-    "tarball": "http://registry.npmjs.org/npmlog/-/npmlog-1.2.0.tgz"
-  },
   "directories": {},
-  "_resolved": "https://registry.npmjs.org/npmlog/-/npmlog-1.2.0.tgz"
+  "_resolved": "https://registry.npmjs.org/npmlog/-/npmlog-1.2.1.tgz",
+  "readme": "ERROR: No README data found!"
 }
diff --git a/deps/npm/node_modules/osenv/.npmignore b/deps/npm/node_modules/osenv/.npmignore
new file mode 100644 (file)
index 0000000..8c23dee
--- /dev/null
@@ -0,0 +1,13 @@
+*.swp
+.*.swp
+
+.DS_Store
+*~
+.project
+.settings
+npm-debug.log
+coverage.html
+.idea
+lib-cov
+
+node_modules
index 0c44ae7..19129e3 100644 (file)
@@ -1,27 +1,15 @@
-Copyright (c) Isaac Z. Schlueter ("Author")
-All rights reserved.
+The ISC License
 
-The BSD License
+Copyright (c) Isaac Z. Schlueter and Contributors
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
 
-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 AUTHOR 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 AUTHOR 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.
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
index b66ce8d..7f83dc0 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "osenv",
-  "version": "0.1.0",
+  "version": "0.1.1",
   "main": "osenv.js",
   "directories": {
     "test": "test"
@@ -14,7 +14,7 @@
   },
   "repository": {
     "type": "git",
-    "url": "git://github.com/isaacs/osenv"
+    "url": "git+https://github.com/npm/osenv.git"
   },
   "keywords": [
     "environment",
     "email": "i@izs.me",
     "url": "http://blog.izs.me/"
   },
-  "license": "BSD",
+  "license": "ISC",
   "description": "Look up environment settings specific to different operating systems",
-  "readme": "# osenv\n\nLook up environment settings specific to different operating systems.\n\n## Usage\n\n```javascript\nvar osenv = require('osenv')\nvar path = osenv.path()\nvar user = osenv.user()\n// etc.\n\n// Some things are not reliably in the env, and have a fallback command:\nvar h = osenv.hostname(function (er, hostname) {\n  h = hostname\n})\n// This will still cause it to be memoized, so calling osenv.hostname()\n// is now an immediate operation.\n\n// You can always send a cb, which will get called in the nextTick\n// if it's been memoized, or wait for the fallback data if it wasn't\n// found in the environment.\nosenv.hostname(function (er, hostname) {\n  if (er) console.error('error looking up hostname')\n  else console.log('this machine calls itself %s', hostname)\n})\n```\n\n## osenv.hostname()\n\nThe machine name.  Calls `hostname` if not found.\n\n## osenv.user()\n\nThe currently logged-in user.  Calls `whoami` if not found.\n\n## osenv.prompt()\n\nEither PS1 on unix, or PROMPT on Windows.\n\n## osenv.tmpdir()\n\nThe place where temporary files should be created.\n\n## osenv.home()\n\nNo place like it.\n\n## osenv.path()\n\nAn array of the places that the operating system will search for\nexecutables.\n\n## osenv.editor() \n\nReturn the executable name of the editor program.  This uses the EDITOR\nand VISUAL environment variables, and falls back to `vi` on Unix, or\n`notepad.exe` on Windows.\n\n## osenv.shell()\n\nThe SHELL on Unix, which Windows calls the ComSpec.  Defaults to 'bash'\nor 'cmd'.\n",
-  "readmeFilename": "README.md",
+  "gitHead": "769ada6737026254372e3013b702c450a9b781e9",
   "bugs": {
-    "url": "https://github.com/isaacs/osenv/issues"
+    "url": "https://github.com/npm/osenv/issues"
   },
-  "homepage": "https://github.com/isaacs/osenv",
-  "_id": "osenv@0.1.0",
-  "_shasum": "61668121eec584955030b9f470b1d2309504bfcb",
-  "_from": "osenv@~0.1.0"
+  "homepage": "https://github.com/npm/osenv#readme",
+  "_id": "osenv@0.1.1",
+  "_shasum": "ddc7c4bb86c64a3022e95f030ee028e9a5996c07",
+  "_from": "osenv@0.1.1",
+  "_npmVersion": "2.10.0",
+  "_nodeVersion": "2.0.1",
+  "_npmUser": {
+    "name": "isaacs",
+    "email": "isaacs@npmjs.com"
+  },
+  "dist": {
+    "shasum": "ddc7c4bb86c64a3022e95f030ee028e9a5996c07",
+    "tarball": "http://registry.npmjs.org/osenv/-/osenv-0.1.1.tgz"
+  },
+  "maintainers": [
+    {
+      "name": "isaacs",
+      "email": "i@izs.me"
+    },
+    {
+      "name": "robertkowalski",
+      "email": "rok@kowalski.gd"
+    },
+    {
+      "name": "othiym23",
+      "email": "ogd@aoaioxxysz.net"
+    },
+    {
+      "name": "iarna",
+      "email": "me@re-becca.org"
+    }
+  ],
+  "_resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.1.tgz"
 }
diff --git a/deps/npm/node_modules/read/LICENSE b/deps/npm/node_modules/read/LICENSE
new file mode 100644 (file)
index 0000000..19129e3
--- /dev/null
@@ -0,0 +1,15 @@
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
index 0c44ae7..19129e3 100644 (file)
@@ -1,27 +1,15 @@
-Copyright (c) Isaac Z. Schlueter ("Author")
-All rights reserved.
+The ISC License
 
-The BSD License
+Copyright (c) Isaac Z. Schlueter and Contributors
 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
 
-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 AUTHOR 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 AUTHOR 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.
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
index 5e69980..9cdb302 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "mute-stream",
-  "version": "0.0.4",
+  "version": "0.0.5",
   "main": "mute.js",
   "directories": {
     "test": "test"
@@ -13,7 +13,7 @@
   },
   "repository": {
     "type": "git",
-    "url": "git://github.com/isaacs/mute-stream"
+    "url": "git://github.com/isaacs/mute-stream.git"
   },
   "keywords": [
     "mute",
     "email": "i@izs.me",
     "url": "http://blog.izs.me/"
   },
-  "license": "BSD",
+  "license": "ISC",
   "description": "Bytes go in, but they don't come out (when muted).",
-  "readme": "# mute-stream\n\nBytes go in, but they don't come out (when muted).\n\nThis is a basic pass-through stream, but when muted, the bytes are\nsilently dropped, rather than being passed through.\n\n## Usage\n\n```javascript\nvar MuteStream = require('mute-stream')\n\nvar ms = new MuteStream(options)\n\nms.pipe(process.stdout)\nms.write('foo') // writes 'foo' to stdout\nms.mute()\nms.write('bar') // does not write 'bar'\nms.unmute()\nms.write('baz') // writes 'baz' to stdout\n\n// can also be used to mute incoming data\nvar ms = new MuteStream\ninput.pipe(ms)\n\nms.on('data', function (c) {\n  console.log('data: ' + c)\n})\n\ninput.emit('data', 'foo') // logs 'foo'\nms.mute()\ninput.emit('data', 'bar') // does not log 'bar'\nms.unmute()\ninput.emit('data', 'baz') // logs 'baz'\n```\n\n## Options\n\nAll options are optional.\n\n* `replace` Set to a string to replace each character with the\n  specified string when muted.  (So you can show `****` instead of the\n  password, for example.)\n\n* `prompt` If you are using a replacement char, and also using a\n  prompt with a readline stream (as for a `Password: *****` input),\n  then specify what the prompt is so that backspace will work\n  properly.  Otherwise, pressing backspace will overwrite the prompt\n  with the replacement character, which is weird.\n\n## ms.mute()\n\nSet `muted` to `true`.  Turns `.write()` into a no-op.\n\n## ms.unmute()\n\nSet `muted` to `false`\n\n## ms.isTTY\n\nTrue if the pipe destination is a TTY, or if the incoming pipe source is\na TTY.\n\n## Other stream methods...\n\nThe other standard readable and writable stream methods are all\navailable.  The MuteStream object acts as a facade to its pipe source\nand destination.\n",
-  "readmeFilename": "README.md",
+  "gitHead": "17d9854a315f56088d039534f87b740e470a9af0",
   "bugs": {
     "url": "https://github.com/isaacs/mute-stream/issues"
   },
-  "_id": "mute-stream@0.0.4",
-  "_from": "mute-stream@~0.0.4"
+  "homepage": "https://github.com/isaacs/mute-stream#readme",
+  "_id": "mute-stream@0.0.5",
+  "_shasum": "8fbfabb0a98a253d3184331f9e8deb7372fac6c0",
+  "_from": "mute-stream@>=0.0.4 <0.1.0",
+  "_npmVersion": "2.10.0",
+  "_nodeVersion": "2.0.1",
+  "_npmUser": {
+    "name": "isaacs",
+    "email": "isaacs@npmjs.com"
+  },
+  "dist": {
+    "shasum": "8fbfabb0a98a253d3184331f9e8deb7372fac6c0",
+    "tarball": "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz"
+  },
+  "maintainers": [
+    {
+      "name": "isaacs",
+      "email": "i@izs.me"
+    }
+  ],
+  "_resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz"
 }
index c5be572..b424aa3 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "read",
-  "version": "1.0.5",
+  "version": "1.0.6",
   "main": "lib/read.js",
   "dependencies": {
     "mute-stream": "~0.0.4"
     "type": "git",
     "url": "git://github.com/isaacs/read.git"
   },
-  "license": "BSD",
+  "license": "ISC",
   "scripts": {
     "test": "tap test/*.js"
   },
-  "readme": "## read\n\nFor reading user input from stdin.\n\nSimilar to the `readline` builtin's `question()` method, but with a\nfew more features.\n\n## USAGE\n\n```javascript\nvar read = require(\"read\")\nread(options, callback)\n```\n\nThe callback gets called with either the user input, or the default\nspecified, or an error, as `callback(error, result, isDefault)`\nnode style.\n\n## OPTIONS\n\nEvery option is optional.\n\n* `prompt` What to write to stdout before reading input.\n* `silent` Don't echo the output as the user types it.\n* `replace` Replace silenced characters with the supplied character value.\n* `timeout` Number of ms to wait for user input before giving up.\n* `default` The default value if the user enters nothing.\n* `edit` Allow the user to edit the default value.\n* `terminal` Treat the output as a TTY, whether it is or not.\n* `input` Readable stream to get input data from. (default `process.stdin`)\n* `output` Writeable stream to write prompts to. (default: `process.stdout`)\n\nIf silent is true, and the input is a TTY, then read will set raw\nmode, and read character by character.\n\n## COMPATIBILITY\n\nThis module works sort of with node 0.6.  It does not work with node\nversions less than 0.6.  It is best on node 0.8.\n\nOn node version 0.6, it will remove all listeners on the input\nstream's `data` and `keypress` events, because the readline module did\nnot fully clean up after itself in that version of node, and did not\nmake it possible to clean up after it in a way that has no potential\nfor side effects.\n\nAdditionally, some of the readline options (like `terminal`) will not\nfunction in versions of node before 0.8, because they were not\nimplemented in the builtin readline module.\n\n## CONTRIBUTING\n\nPatches welcome.\n",
-  "readmeFilename": "README.md",
+  "gitHead": "2f5101c8e41332a033e5aa4e27e33fd6e09598e2",
   "bugs": {
     "url": "https://github.com/isaacs/read/issues"
   },
-  "_id": "read@1.0.5",
-  "_from": "read@latest"
+  "homepage": "https://github.com/isaacs/read#readme",
+  "_id": "read@1.0.6",
+  "_shasum": "09873c14ecc114d063fad43b8ca5a33d304721c8",
+  "_from": "read@1.0.6",
+  "_npmVersion": "2.10.0",
+  "_nodeVersion": "2.0.1",
+  "_npmUser": {
+    "name": "isaacs",
+    "email": "isaacs@npmjs.com"
+  },
+  "dist": {
+    "shasum": "09873c14ecc114d063fad43b8ca5a33d304721c8",
+    "tarball": "http://registry.npmjs.org/read/-/read-1.0.6.tgz"
+  },
+  "maintainers": [
+    {
+      "name": "isaacs",
+      "email": "i@izs.me"
+    }
+  ],
+  "directories": {},
+  "_resolved": "https://registry.npmjs.org/read/-/read-1.0.6.tgz"
 }
diff --git a/deps/npm/node_modules/realize-package-specifier/LICENSE b/deps/npm/node_modules/realize-package-specifier/LICENSE
new file mode 100644 (file)
index 0000000..4505576
--- /dev/null
@@ -0,0 +1,13 @@
+Copyright (c) 2015, Rebecca Turner
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
index 6716b19..b14b24b 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "realize-package-specifier",
-  "version": "3.0.0",
+  "version": "3.0.1",
   "description": "Like npm-package-arg, but more so, producing full file paths and differentiating local tar and directory sources.",
   "main": "index.js",
   "scripts": {
@@ -9,7 +9,7 @@
   "license": "ISC",
   "repository": {
     "type": "git",
-    "url": "https://github.com/npm/realize-package-specifier.git"
+    "url": "git+https://github.com/npm/realize-package-specifier.git"
   },
   "author": {
     "name": "Rebecca Turner",
     "require-inject": "^1.1.0",
     "tap": "^0.4.12"
   },
-  "readme": "realize-package-specifier\n-------------------------\n\nParse a package specifier, peeking at the disk to differentiate between\nlocal tarballs, directories and named modules.  This implements the logic\nused by `npm install` and `npm cache` to determine where to get packages\nfrom.\n\n```javascript\nvar realizePackageSpecifier = require(\"realize-package-specifier\")\nrealizePackageSpecifier(\"foo.tar.gz\", \".\", function (err, package) {\n    …\n})\n```\n\n## Using\n\n* realizePackageSpecifier(*spec*, [*where*,] *callback*)\n\nParses *spec* using `npm-package-arg` and then uses stat to check to see if\nit refers to a local tarball or package directory.  Stats are done relative\nto *where*.  If it does then the local module is loaded.  If it doesn't then\ntarget is left as a remote package specifier.  Package directories are\nrecognized by the presence of a package.json in them.\n\n*spec* -- a package specifier, like: `foo@1.2`, or `foo@user/foo`, or\n`http://x.com/foo.tgz`, or `git+https://github.com/user/foo`\n\n*where* (optional, default: .) -- The directory in which we should look for\nlocal tarballs or package directories.\n\n*callback* function(*err*, *result*) -- Called once we've determined what\nkind of specifier this is.  The *result* object will be very like the one\nreturned by `npm-package-arg` except with three differences: 1) There's a\nnew type of `directory`.  2) The `local` type only refers to tarballs.  2)\nFor all `local` and `directory` type results spec will contain the full path of\nthe local package.\n\n## Result Object\n\nThe full definition of the result object is:\n\n* `name` - If known, the `name` field expected in the resulting pkg.\n* `type` - One of the following strings:\n  * `git` - A git repo\n  * `hosted` - A hosted project, from github, bitbucket or gitlab. Originally\n    either a full url pointing at one of these services or a shorthand like\n    `user/project` or `github:user/project` for github or `bitbucket:user/project`\n    for bitbucket.\n  * `tag` - A tagged version, like `\"foo@latest\"`\n  * `version` - A specific version number, like `\"foo@1.2.3\"`\n  * `range` - A version range, like `\"foo@2.x\"`\n  * `local` - A local file path\n  * `directory` - A local package directory\n  * `remote` - An http url (presumably to a tgz)\n* `spec` - The \"thing\".  URL, the range, git repo, etc.\n* `hosted` - If type=hosted this will be an object with the following keys:\n  * `type` - github, bitbucket or gitlab\n  * `ssh` - The ssh path for this git repo\n  * `sshurl` - The ssh URL for this git repo\n  * `https` - The HTTPS URL for this git repo\n  * `directUrl` - The URL for the package.json in this git repo\n* `raw` - The original un-modified string that was provided.\n* `rawSpec` - The part after the `name@...`, as it was originally\n  provided.\n* `scope` - If a name is something like `@org/module` then the `scope`\n  field will be set to `org`.  If it doesn't have a scoped name, then\n  scope is `null`.\n\n",
-  "readmeFilename": "README.md",
-  "gitHead": "2a465b11a70b288d0fb56312dcb45ba8de45b320",
+  "gitHead": "4f50130fa6b5e80954a90ea12bab382f53d890b1",
   "bugs": {
     "url": "https://github.com/npm/realize-package-specifier/issues"
   },
-  "_id": "realize-package-specifier@3.0.0",
-  "_shasum": "38224d63f546d4972f0a68cb6e91f6cf73ac67fa",
-  "_from": "realize-package-specifier@>=3.0.0 <4.0.0"
+  "_id": "realize-package-specifier@3.0.1",
+  "_shasum": "fde32e926448e38f99334d95b7b08d51e3a98d9f",
+  "_from": "realize-package-specifier@>=3.0.0 <3.1.0",
+  "_npmVersion": "2.10.1",
+  "_nodeVersion": "2.0.2",
+  "_npmUser": {
+    "name": "othiym23",
+    "email": "ogd@aoaioxxysz.net"
+  },
+  "dist": {
+    "shasum": "fde32e926448e38f99334d95b7b08d51e3a98d9f",
+    "tarball": "http://registry.npmjs.org/realize-package-specifier/-/realize-package-specifier-3.0.1.tgz"
+  },
+  "maintainers": [
+    {
+      "name": "iarna",
+      "email": "me@re-becca.org"
+    },
+    {
+      "name": "othiym23",
+      "email": "ogd@aoaioxxysz.net"
+    }
+  ],
+  "directories": {},
+  "_resolved": "https://registry.npmjs.org/realize-package-specifier/-/realize-package-specifier-3.0.1.tgz"
 }
diff --git a/deps/npm/node_modules/request/.eslintrc b/deps/npm/node_modules/request/.eslintrc
new file mode 100644 (file)
index 0000000..e79f481
--- /dev/null
@@ -0,0 +1,45 @@
+{
+  "env": {
+    "node": true
+  },
+  "rules": {
+    // 2-space indentation
+    "indent": [2, 2],
+    // Disallow semi-colons, unless needed to disambiguate statement
+    "semi": [2, "never"],
+    // Require strings to use single quotes
+    "quotes": [2, "single"],
+    // Require curly braces for all control statements
+    "curly": 2,
+    // Disallow using variables and functions before they've been defined
+    "no-use-before-define": 2,
+    // Allow any case for variable naming
+    "camelcase": 0,
+    // Disallow unused variables, except as function arguments
+    "no-unused-vars": [2, {"args":"none"}],
+    // Allow leading underscores for method names
+    // REASON: we use underscores to denote private methods
+    "no-underscore-dangle": 0,
+    // Allow multi spaces around operators since they are
+    // used for alignment.  This is not consistent in the
+    // code.
+    "no-multi-spaces": 0,
+    // Style rule is: most objects use { beforeColon: false, afterColon: true }, unless aligning which uses:
+    //
+    // {
+    //   beforeColon : true,
+    //   afterColon  : true
+    // }
+    //
+    // eslint can't handle this, so the check is disabled.
+    "key-spacing": 0,
+    // Allow shadowing vars in outer scope (needs discussion)
+    "no-shadow": 0,
+    // Use if () { }
+    //       ^ space
+    "space-after-keywords": [2, "always"],
+    // Use if () { }
+    //          ^ space
+    "space-before-blocks": [2, "always"]
+  }
+}
diff --git a/deps/npm/node_modules/request/node_modules/bl/.jshintrc b/deps/npm/node_modules/request/node_modules/bl/.jshintrc
new file mode 100644 (file)
index 0000000..c8ef3ca
--- /dev/null
@@ -0,0 +1,59 @@
+{
+    "predef": [ ]
+  , "bitwise": false
+  , "camelcase": false
+  , "curly": false
+  , "eqeqeq": false
+  , "forin": false
+  , "immed": false
+  , "latedef": false
+  , "noarg": true
+  , "noempty": true
+  , "nonew": true
+  , "plusplus": false
+  , "quotmark": true
+  , "regexp": false
+  , "undef": true
+  , "unused": true
+  , "strict": false
+  , "trailing": true
+  , "maxlen": 120
+  , "asi": true
+  , "boss": true
+  , "debug": true
+  , "eqnull": true
+  , "esnext": true
+  , "evil": true
+  , "expr": true
+  , "funcscope": false
+  , "globalstrict": false
+  , "iterator": false
+  , "lastsemic": true
+  , "laxbreak": true
+  , "laxcomma": true
+  , "loopfunc": true
+  , "multistr": false
+  , "onecase": false
+  , "proto": false
+  , "regexdash": false
+  , "scripturl": true
+  , "smarttabs": false
+  , "shadow": false
+  , "sub": true
+  , "supernew": false
+  , "validthis": true
+  , "browser": true
+  , "couch": false
+  , "devel": false
+  , "dojo": false
+  , "mootools": false
+  , "node": true
+  , "nonstandard": true
+  , "prototypejs": false
+  , "rhino": false
+  , "worker": true
+  , "wsh": false
+  , "nomen": false
+  , "onevar": false
+  , "passfail": false
+}
\ No newline at end of file
diff --git a/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/.jshintrc b/deps/npm/node_modules/request/node_modules/har-validator/node_modules/is-my-json-valid/node_modules/xtend/.jshintrc
new file mode 100644 (file)
index 0000000..77887b5
--- /dev/null
@@ -0,0 +1,30 @@
+{
+    "maxdepth": 4,
+    "maxstatements": 200,
+    "maxcomplexity": 12,
+    "maxlen": 80,
+    "maxparams": 5,
+
+    "curly": true,
+    "eqeqeq": true,
+    "immed": true,
+    "latedef": false,
+    "noarg": true,
+    "noempty": true,
+    "nonew": true,
+    "undef": true,
+    "unused": "vars",
+    "trailing": true,
+
+    "quotmark": true,
+    "expr": true,
+    "asi": true,
+
+    "browser": false,
+    "esnext": true,
+    "devel": false,
+    "node": false,
+    "nonstandard": false,
+
+    "predef": ["require", "module", "__dirname", "__filename"]
+}
diff --git a/deps/npm/node_modules/request/node_modules/isstream/.jshintrc b/deps/npm/node_modules/request/node_modules/isstream/.jshintrc
new file mode 100644 (file)
index 0000000..c8ef3ca
--- /dev/null
@@ -0,0 +1,59 @@
+{
+    "predef": [ ]
+  , "bitwise": false
+  , "camelcase": false
+  , "curly": false
+  , "eqeqeq": false
+  , "forin": false
+  , "immed": false
+  , "latedef": false
+  , "noarg": true
+  , "noempty": true
+  , "nonew": true
+  , "plusplus": false
+  , "quotmark": true
+  , "regexp": false
+  , "undef": true
+  , "unused": true
+  , "strict": false
+  , "trailing": true
+  , "maxlen": 120
+  , "asi": true
+  , "boss": true
+  , "debug": true
+  , "eqnull": true
+  , "esnext": true
+  , "evil": true
+  , "expr": true
+  , "funcscope": false
+  , "globalstrict": false
+  , "iterator": false
+  , "lastsemic": true
+  , "laxbreak": true
+  , "laxcomma": true
+  , "loopfunc": true
+  , "multistr": false
+  , "onecase": false
+  , "proto": false
+  , "regexdash": false
+  , "scripturl": true
+  , "smarttabs": false
+  , "shadow": false
+  , "sub": true
+  , "supernew": false
+  , "validthis": true
+  , "browser": true
+  , "couch": false
+  , "devel": false
+  , "dojo": false
+  , "mootools": false
+  , "node": true
+  , "nonstandard": true
+  , "prototypejs": false
+  , "rhino": false
+  , "worker": true
+  , "wsh": false
+  , "nomen": false
+  , "onevar": false
+  , "passfail": false
+}
\ No newline at end of file
diff --git a/deps/npm/node_modules/request/node_modules/qs/.jshintrc b/deps/npm/node_modules/request/node_modules/qs/.jshintrc
new file mode 100644 (file)
index 0000000..997b3f7
--- /dev/null
@@ -0,0 +1,10 @@
+{
+  "node": true,
+
+  "curly": true,
+  "latedef": true,
+  "quotmark": true,
+  "undef": true,
+  "unused": true,
+  "trailing": true
+}
diff --git a/deps/npm/node_modules/request/node_modules/tunnel-agent/.jshintrc b/deps/npm/node_modules/request/node_modules/tunnel-agent/.jshintrc
new file mode 100644 (file)
index 0000000..4c1c8d4
--- /dev/null
@@ -0,0 +1,5 @@
+{
+  "node": true,
+  "asi": true,
+  "laxcomma": true
+}
index 05a4010..19129e3 100644 (file)
@@ -1,23 +1,15 @@
-Copyright 2009, 2010, 2011 Isaac Z. Schlueter.
-All rights reserved.
+The ISC License
 
-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:
+Copyright (c) Isaac Z. Schlueter and Contributors
 
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
 
-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.
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
index 7b28e73..aabb562 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "rimraf",
-  "version": "2.3.3",
+  "version": "2.3.4",
   "main": "rimraf.js",
   "description": "A deep deletion module for node (like `rm -rf`)",
   "author": {
@@ -8,10 +8,7 @@
     "email": "i@izs.me",
     "url": "http://blog.izs.me/"
   },
-  "license": {
-    "type": "MIT",
-    "url": "https://github.com/isaacs/rimraf/raw/master/LICENSE"
-  },
+  "license": "ISC",
   "repository": {
     "type": "git",
     "url": "git://github.com/isaacs/rimraf.git"
     "LICENSE",
     "README.md"
   ],
-  "gitHead": "ad4efe8102a72c77bf2b13165ecc2229a9a68955",
+  "gitHead": "2a6cc45bbbdd8da5fd703d8af62843565f7dea57",
   "bugs": {
     "url": "https://github.com/isaacs/rimraf/issues"
   },
-  "homepage": "https://github.com/isaacs/rimraf",
-  "_id": "rimraf@2.3.3",
-  "_shasum": "d0073d8b3010611e8f3ad377b08e9a3c18b98f06",
-  "_from": "rimraf@>=2.3.3 <2.4.0",
-  "_npmVersion": "2.7.6",
-  "_nodeVersion": "1.7.1",
+  "homepage": "https://github.com/isaacs/rimraf#readme",
+  "_id": "rimraf@2.3.4",
+  "_shasum": "82d9bc1b2fcf31e205ac7b28138a025d08e9159a",
+  "_from": "rimraf@>=2.3.4 <2.4.0",
+  "_npmVersion": "2.10.0",
+  "_nodeVersion": "2.0.1",
   "_npmUser": {
     "name": "isaacs",
     "email": "isaacs@npmjs.com"
   },
   "dist": {
-    "shasum": "d0073d8b3010611e8f3ad377b08e9a3c18b98f06",
-    "tarball": "http://registry.npmjs.org/rimraf/-/rimraf-2.3.3.tgz"
+    "shasum": "82d9bc1b2fcf31e205ac7b28138a025d08e9159a",
+    "tarball": "http://registry.npmjs.org/rimraf/-/rimraf-2.3.4.tgz"
   },
   "maintainers": [
     {
@@ -56,5 +53,6 @@
     }
   ],
   "directories": {},
-  "_resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.3.3.tgz"
+  "_resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.3.4.tgz",
+  "readme": "ERROR: No README data found!"
 }
index 8d420d2..7f684e4 100644 (file)
@@ -258,6 +258,7 @@ function rimrafSync (p, options) {
   assert(p, 'rimraf: missing path')
   assert.equal(typeof p, 'string', 'rimraf: path should be a string')
   assert(options, 'rimraf: missing options')
+  assert.equal(typeof options, 'object', 'rimraf: options should be object')
 
   var results
 
@@ -1,10 +1,10 @@
 
-0.0.7 / 2014-09-01 
+0.0.7 / 2014-09-01
 ==================
 
  * update .repository
 
-0.0.6 / 2014-09-01 
+0.0.6 / 2014-09-01
 ==================
 
  * add travis
 
  * add timers
 
-0.0.3 / 2014-02-22 
+0.0.3 / 2014-02-22
 ==================
 
  * add buffer
 
-0.0.2 / 2014-02-11 
+0.0.2 / 2014-02-11
 ==================
 
  * add assert
 
-0.0.1 / 2014-02-11 
+0.0.1 / 2014-02-11
 ==================
 
  * add main
@@ -36,7 +36,7 @@
   "gitHead": "acef1219c13a0cf4cf6b8706d65f606d82a7d472",
   "_id": "validate-npm-package-name@2.2.0",
   "_shasum": "4cb6ff120bd7afb0b5681406cfaea8df2d763477",
-  "_from": "validate-npm-package-name@>=2.0.1 <3.0.0",
+  "_from": "validate-npm-package-name@2.2.0",
   "_npmVersion": "2.7.6",
   "_nodeVersion": "1.6.2",
   "_npmUser": {
diff --git a/deps/npm/node_modules/write-file-atomic/LICENSE b/deps/npm/node_modules/write-file-atomic/LICENSE
new file mode 100644 (file)
index 0000000..af45880
--- /dev/null
@@ -0,0 +1,5 @@
+Copyright (c) 2015, Rebecca Turner
+
+Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
index 1fa0f6c..27f6694 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "write-file-atomic",
-  "version": "1.1.0",
+  "version": "1.1.2",
   "description": "Write files in an atomic fashion w/configurable ownership",
   "main": "index.js",
   "scripts": {
     "require-inject": "^1.1.0",
     "tap": "^0.4.12"
   },
-  "gitHead": "28e4df86547c6728eab0b51bca6f00cf44ef392c",
-  "_id": "write-file-atomic@1.1.0",
-  "_shasum": "e114cfb8f82188353f98217c5945451c9b4dc060",
-  "_from": "write-file-atomic@>=1.1.0 <2.0.0",
-  "_npmVersion": "1.4.28",
+  "gitHead": "b721f8a71223bcf162f1ee4ff4677f31de1c061f",
+  "_id": "write-file-atomic@1.1.2",
+  "_shasum": "ff3d61f1c2f5bb71e8ebe491a7157bf7d60435a4",
+  "_from": "write-file-atomic@>=1.1.2 <1.2.0",
+  "_npmVersion": "2.7.6",
+  "_nodeVersion": "1.6.2",
   "_npmUser": {
     "name": "iarna",
     "email": "me@re-becca.org"
   },
+  "dist": {
+    "shasum": "ff3d61f1c2f5bb71e8ebe491a7157bf7d60435a4",
+    "tarball": "http://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.1.2.tgz"
+  },
   "maintainers": [
     {
       "name": "iarna",
       "email": "me@re-becca.org"
     }
   ],
-  "dist": {
-    "shasum": "e114cfb8f82188353f98217c5945451c9b4dc060",
-    "tarball": "http://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.1.0.tgz"
-  },
   "directories": {},
-  "_resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.1.0.tgz"
+  "_resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.1.2.tgz"
 }
index 2082ed8..870a691 100644 (file)
@@ -1,5 +1,5 @@
 {
-  "version": "2.10.1",
+  "version": "2.11.0",
   "name": "npm",
   "description": "a package manager for JavaScript",
   "keywords": [
   "main": "./lib/npm.js",
   "bin": "./bin/npm-cli.js",
   "dependencies": {
-    "abbrev": "~1.0.5",
+    "abbrev": "~1.0.6",
     "ansi": "~0.3.0",
     "ansi-regex": "~1.1.1",
     "ansicolors": "~0.3.2",
     "ansistyles": "~0.1.3",
     "archy": "~1.0.0",
-    "async-some": "~1.0.1",
-    "block-stream": "0.0.7",
+    "async-some": "~1.0.2",
+    "block-stream": "0.0.8",
     "char-spinner": "~1.0.1",
-    "chmodr": "~0.1.0",
-    "chownr": "0",
+    "chmodr": "~0.1.1",
+    "chownr": "0.0.2",
     "cmd-shim": "~2.0.1",
     "columnify": "~1.5.1",
     "config-chain": "~1.1.8",
-    "dezalgo": "~1.0.1",
+    "dezalgo": "~1.0.2",
     "editor": "~1.0.0",
-    "fs-vacuum": "~1.2.5",
-    "fs-write-stream-atomic": "~1.0.2",
+    "fs-vacuum": "~1.2.6",
+    "fs-write-stream-atomic": "~1.0.3",
     "fstream": "~1.0.6",
     "fstream-npm": "~1.0.2",
     "github-url-from-git": "~1.4.0",
     "github-url-from-username-repo": "~1.0.2",
-    "glob": "~5.0.6",
-    "graceful-fs": "~3.0.6",
-    "hosted-git-info": "~2.1.2",
+    "glob": "~5.0.7",
+    "graceful-fs": "~3.0.7",
+    "hosted-git-info": "~2.1.4",
     "inflight": "~1.0.4",
     "inherits": "~2.0.1",
     "ini": "~1.3.3",
-    "init-package-json": "~1.5.0",
-    "lockfile": "~1.0.0",
-    "lru-cache": "~2.6.3",
-    "minimatch": "~2.0.7",
+    "init-package-json": "~1.6.0",
+    "lockfile": "~1.0.1",
+    "lru-cache": "~2.6.4",
+    "minimatch": "~2.0.8",
     "mkdirp": "~0.5.1",
     "node-gyp": "~1.0.3",
-    "nopt": "~3.0.1",
-    "normalize-git-url": "~1.0.0",
-    "normalize-package-data": "~2.1.0",
+    "nopt": "~3.0.2",
+    "normalize-git-url": "~1.0.1",
+    "normalize-package-data": "~2.2.0",
     "npm-cache-filename": "~1.0.1",
     "npm-install-checks": "~1.0.5",
-    "npm-package-arg": "~4.0.0",
-    "npm-registry-client": "~6.3.3",
-    "npm-user-validate": "~0.1.1",
-    "npmlog": "~1.2.0",
+    "npm-package-arg": "~4.0.1",
+    "npm-registry-client": "~6.4.0",
+    "npm-user-validate": "~0.1.2",
+    "npmlog": "~1.2.1",
     "once": "~1.3.2",
     "opener": "~1.4.1",
-    "osenv": "~0.1.0",
+    "osenv": "~0.1.1",
     "path-is-inside": "~1.0.0",
-    "read": "~1.0.4",
+    "read": "~1.0.6",
     "read-installed": "~4.0.0",
     "read-package-json": "~2.0.0",
     "readable-stream": "~1.0.33",
-    "realize-package-specifier": "~3.0.0",
+    "realize-package-specifier": "~3.0.1",
     "request": "~2.55.0",
     "retry": "~0.6.1",
-    "rimraf": "~2.3.3",
+    "rimraf": "~2.3.4",
     "semver": "~4.3.4",
     "sha": "~1.3.0",
     "slide": "~1.1.6",
     "text-table": "~0.2.0",
     "uid-number": "0.0.6",
     "umask": "~1.1.0",
+    "validate-npm-package-name": "2.2.0",
     "which": "~1.1.1",
     "wrappy": "~1.0.1",
-    "write-file-atomic": "~1.1.0"
+    "write-file-atomic": "~1.1.2"
   },
   "bundleDependencies": [
     "abbrev",
     "text-table",
     "uid-number",
     "umask",
+    "validate-npm-package-name",
     "which",
     "wrappy",
     "write-file-atomic"
     "deep-equal": "~1.0.0",
     "marked": "~0.3.3",
     "marked-man": "~0.1.4",
-    "nock": "~2.0.1",
+    "nock": "~2.2.0",
     "npm-registry-couchapp": "~2.6.7",
     "npm-registry-mock": "~1.0.0",
     "require-inject": "~1.2.0",
     "sprintf-js": "~1.0.2",
-    "tap": "~1.0.4"
+    "tap": "~1.1.0"
   },
   "scripts": {
     "test-legacy": "node ./test/run.js",
     "test": "tap --timeout 240 test/tap/*.js",
     "tap": "tap --timeout 240 test/tap/*.js",
     "test-all": "npm run test-legacy && npm test",
+    "preversion": "cd .. && bash scripts/update-authors.sh && git add AUTHORS && git commit -m \"update AUTHORS\" || true",
     "prepublish": "node bin/npm-cli.js prune --prefix=. --no-global && rimraf test/*/*/node_modules && make -j4 doc",
     "dumpconf": "env | grep npm | sort | uniq"
   },
index 326d21c..75a6e54 100755 (executable)
@@ -1,18 +1,9 @@
 #!/bin/sh
 
-git log --reverse --format='%aN <%aE>' | perl -we '
-
+git log --reverse --format='%aN <%aE>' | perl -wnE '
 BEGIN {
-  %seen = (), @authors = ();
-}
-
-while (<>) {
-  next if $seen{$_};
-  $seen{$_} = push @authors, $_;
+  say "# Authors sorted by whether or not they\x27re me";
 }
 
-END {
-  print "# Authors sorted by whether or not they'\''re me\n";
-  print @authors;
-}
+print $seen{$_} = $_ unless $seen{$_}
 ' > AUTHORS
index 824d492..7268fcb 100644 (file)
@@ -1,4 +1,4 @@
-globalconfig=/Users/rebecca/code/npm-release/test/fixtures/config/globalconfig
+globalconfig=/Users/ogd/Documents/projects/npm/npm/test/fixtures/config/globalconfig
 email=i@izs.me
 env-thing=asdf
 init.author.name=Isaac Z. Schlueter
index a446579..8c0d350 100644 (file)
@@ -37,7 +37,10 @@ var json = {
     poststart: 'exit 123',
     prerestart: 'exit 123',
     restart: 'exit 123',
-    postrestart: 'exit 123'
+    postrestart: 'exit 123',
+    preversion: 'exit 123',
+    version: 'exit 123',
+    postversion: 'exit 123'
   }
 }
 
@@ -69,7 +72,8 @@ var scripts = [
   'pretest', 'test', 'posttest',
   'prestop', 'stop', 'poststop',
   'prestart', 'start', 'poststart',
-  'prerestart', 'restart', 'postrestart'
+  'prerestart', 'restart', 'postrestart',
+  'preversion', 'version', 'postversion'
 ]
 
 scripts.forEach(function (script) {
index d24a24d..f23f062 100644 (file)
@@ -72,7 +72,6 @@ test('setup', function (t) {
   }, function (err, code, stdout, stderr) {
     t.ifErr(err, 'npm i ' + dep + ' finished without error')
     t.equal(code, 0, 'npm i ' + dep + ' exited ok')
-    console.log('stderr', stderr)
     t.notOk(stderr, 'no output stderr')
     t.end()
   })
@@ -81,8 +80,7 @@ test('setup', function (t) {
 test('test', function (t) {
   common.npm(['run', 'foo'], EXEC_OPTS, function (err, code, stdout, stderr) {
     stderr = stderr.trim()
-    if (stderr)
-      console.error(stderr)
+    if (stderr) console.error(stderr)
     t.ifErr(err, 'npm run finished without error')
     t.equal(code, 0, 'npm run exited ok')
     t.notOk(stderr, 'no output stderr: ' + stderr)
index e5a5d23..0acd0ab 100644 (file)
@@ -24,7 +24,7 @@ test("npm version <semver> in a git repo without the git binary", function(t) {
     })
 
     version(["patch"], function(err) {
-      if (err) return t.fail("Error performing version patch")
+      if (! t.error(err)) return t.end()
       var p = path.resolve(pkg, "package")
       var testPkg = require(p)
       t.equal("0.0.1", testPkg.version, "\"" + testPkg.version+"\" === \"0.0.1\"")
index 5d371d6..dcfd281 100644 (file)
@@ -250,6 +250,63 @@ test("npm view <package name> <field>", function (t) {
   })
 })
 
+test("npm view with invalid package name", function (t) {
+  var invalidName = "InvalidPackage"
+      obj = {}
+  obj["/" + invalidName] = [404, {"error": "not found"}]
+
+  mr({port : common.port, mocks: {"get": obj}}, function (er, s) {
+    common.npm([
+      "view"
+    , invalidName
+    , "--registry=" + common.registry
+    ], {}, function (err, code, stdout, stderr) {
+      t.ifError(err, "view command finished successfully")
+      t.equal(code, 1, "exit not ok")
+
+      t.similar(stderr, new RegExp("is not in the npm registry"),
+        "Package should NOT be found")
+
+      t.dissimilar(stderr, new RegExp("use the name yourself!"),
+        "Suggestion should not be there")
+
+      t.similar(stderr, new RegExp("name can no longer contain capital letters"),
+        "Suggestion about Capital letter should be there")
+
+      s.close()
+      t.end()
+    })
+  })
+})
+
+
+test("npm view with valid but non existent package name", function (t) {
+  mr({port : common.port, mocks: {
+      "get": {
+          "/valid-but-non-existent-package" : [404, {"error": "not found"}]
+      }
+  }}, function (er, s) {
+    common.npm([
+      "view"
+    , "valid-but-non-existent-package"
+    , "--registry=" + common.registry
+    ], {}, function (err, code, stdout, stderr) {
+      t.ifError(err, "view command finished successfully")
+      t.equal(code, 1, "exit not ok")
+
+      t.similar(stderr,
+        new RegExp("'valid-but-non-existent-package' is not in the npm registry\."),
+        "Package should NOT be found")
+
+      t.similar(stderr, new RegExp("use the name yourself!"),
+        "Suggestion should be there")
+
+      s.close()
+      t.end()
+    })
+  })
+})
+
 test("cleanup", function (t) {
   process.chdir(osenv.tmpdir())
   rimraf.sync(t1dir)