npm: upgrade to v1.4.8
authorisaacs <i@izs.me>
Thu, 1 May 2014 18:09:00 +0000 (11:09 -0700)
committerisaacs <i@izs.me>
Thu, 1 May 2014 18:09:00 +0000 (11:09 -0700)
* Check SHA before using files from cache
* adduser: allow change of the saved password
* Make `npm install` respect `config.unicode`
* Fix lifecycle to pass `Infinity` for config env value
* Don't return 0 exit code on invalid command
* cache: Handle 404s and other HTTP errors as errors
* bump tap dep, make tests stderr a bit quieter
* Resolve ~ in path configs to env.HOME
* Include npm version in default user-agent conf
* npm init: Use ISC as default license, use save-prefix for deps
* Many test and doc fixes

257 files changed:
deps/npm/README.md
deps/npm/doc/api/npm.md
deps/npm/doc/cli/npm-install.md
deps/npm/doc/cli/npm-run-script.md
deps/npm/doc/files/package.json.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-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
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-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-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-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
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-scripts.html
deps/npm/html/doc/misc/removing-npm.html
deps/npm/html/doc/misc/semver.html
deps/npm/lib/adduser.js
deps/npm/lib/cache.js
deps/npm/lib/help.js
deps/npm/lib/install.js
deps/npm/lib/npm.js
deps/npm/lib/utils/error-handler.js
deps/npm/lib/utils/lifecycle.js
deps/npm/man/man1/npm-README.1
deps/npm/man/man1/npm-adduser.1
deps/npm/man/man1/npm-bin.1
deps/npm/man/man1/npm-bugs.1
deps/npm/man/man1/npm-build.1
deps/npm/man/man1/npm-bundle.1
deps/npm/man/man1/npm-cache.1
deps/npm/man/man1/npm-completion.1
deps/npm/man/man1/npm-config.1
deps/npm/man/man1/npm-dedupe.1
deps/npm/man/man1/npm-deprecate.1
deps/npm/man/man1/npm-docs.1
deps/npm/man/man1/npm-edit.1
deps/npm/man/man1/npm-explore.1
deps/npm/man/man1/npm-help-search.1
deps/npm/man/man1/npm-help.1
deps/npm/man/man1/npm-init.1
deps/npm/man/man1/npm-install.1
deps/npm/man/man1/npm-link.1
deps/npm/man/man1/npm-ls.1
deps/npm/man/man1/npm-outdated.1
deps/npm/man/man1/npm-owner.1
deps/npm/man/man1/npm-pack.1
deps/npm/man/man1/npm-prefix.1
deps/npm/man/man1/npm-prune.1
deps/npm/man/man1/npm-publish.1
deps/npm/man/man1/npm-rebuild.1
deps/npm/man/man1/npm-repo.1
deps/npm/man/man1/npm-restart.1
deps/npm/man/man1/npm-rm.1
deps/npm/man/man1/npm-root.1
deps/npm/man/man1/npm-run-script.1
deps/npm/man/man1/npm-search.1
deps/npm/man/man1/npm-shrinkwrap.1
deps/npm/man/man1/npm-star.1
deps/npm/man/man1/npm-stars.1
deps/npm/man/man1/npm-start.1
deps/npm/man/man1/npm-stop.1
deps/npm/man/man1/npm-submodule.1
deps/npm/man/man1/npm-tag.1
deps/npm/man/man1/npm-test.1
deps/npm/man/man1/npm-uninstall.1
deps/npm/man/man1/npm-unpublish.1
deps/npm/man/man1/npm-update.1
deps/npm/man/man1/npm-version.1
deps/npm/man/man1/npm-view.1
deps/npm/man/man1/npm-whoami.1
deps/npm/man/man1/npm.1
deps/npm/man/man3/npm-bin.3
deps/npm/man/man3/npm-bugs.3
deps/npm/man/man3/npm-commands.3
deps/npm/man/man3/npm-config.3
deps/npm/man/man3/npm-deprecate.3
deps/npm/man/man3/npm-docs.3
deps/npm/man/man3/npm-edit.3
deps/npm/man/man3/npm-explore.3
deps/npm/man/man3/npm-help-search.3
deps/npm/man/man3/npm-init.3
deps/npm/man/man3/npm-install.3
deps/npm/man/man3/npm-link.3
deps/npm/man/man3/npm-load.3
deps/npm/man/man3/npm-ls.3
deps/npm/man/man3/npm-outdated.3
deps/npm/man/man3/npm-owner.3
deps/npm/man/man3/npm-pack.3
deps/npm/man/man3/npm-prefix.3
deps/npm/man/man3/npm-prune.3
deps/npm/man/man3/npm-publish.3
deps/npm/man/man3/npm-rebuild.3
deps/npm/man/man3/npm-repo.3
deps/npm/man/man3/npm-restart.3
deps/npm/man/man3/npm-root.3
deps/npm/man/man3/npm-run-script.3
deps/npm/man/man3/npm-search.3
deps/npm/man/man3/npm-shrinkwrap.3
deps/npm/man/man3/npm-start.3
deps/npm/man/man3/npm-stop.3
deps/npm/man/man3/npm-submodule.3
deps/npm/man/man3/npm-tag.3
deps/npm/man/man3/npm-test.3
deps/npm/man/man3/npm-uninstall.3
deps/npm/man/man3/npm-unpublish.3
deps/npm/man/man3/npm-update.3
deps/npm/man/man3/npm-version.3
deps/npm/man/man3/npm-view.3
deps/npm/man/man3/npm-whoami.3
deps/npm/man/man3/npm.3
deps/npm/man/man5/npm-folders.5
deps/npm/man/man5/npm-global.5
deps/npm/man/man5/npm-json.5
deps/npm/man/man5/npmrc.5
deps/npm/man/man5/package.json.5
deps/npm/man/man7/npm-coding-style.7
deps/npm/man/man7/npm-config.7
deps/npm/man/man7/npm-developers.7
deps/npm/man/man7/npm-disputes.7
deps/npm/man/man7/npm-faq.7
deps/npm/man/man7/npm-index.7
deps/npm/man/man7/npm-registry.7
deps/npm/man/man7/npm-scripts.7
deps/npm/man/man7/removing-npm.7
deps/npm/man/man7/semver.7
deps/npm/node_modules/github-url-from-username-repo/index.js
deps/npm/node_modules/github-url-from-username-repo/package.json
deps/npm/node_modules/github-url-from-username-repo/test/index.js
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/package.json
deps/npm/node_modules/nopt/lib/nopt.js
deps/npm/node_modules/nopt/package.json
deps/npm/node_modules/nopt/test/basic.js
deps/npm/node_modules/npmconf/config-defs.js
deps/npm/node_modules/npmconf/package.json
deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/.travis.yml
deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/fixer.js
deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/make_warning.js [new file with mode: 0644]
deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/normalize.js
deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/package.json
deps/npm/node_modules/read-package-json/package.json
deps/npm/node_modules/uid-number/LICENCE [new file with mode: 0644]
deps/npm/package.json
deps/npm/scripts/doc-build.sh
deps/npm/test/common-tap.js
deps/npm/test/tap/cache-add-unpublished.js [new file with mode: 0644]
deps/npm/test/tap/circular-dep.js
deps/npm/test/tap/config-meta.js
deps/npm/test/tap/ignore-install-link.js
deps/npm/test/tap/install-cli-unicode.js [new file with mode: 0644]
deps/npm/test/tap/install-cli/README.md [new file with mode: 0644]
deps/npm/test/tap/install-cli/index.js [new file with mode: 0644]
deps/npm/test/tap/install-cli/package.json [new file with mode: 0644]
deps/npm/test/tap/invalid-cmd-exit-code.js [new file with mode: 0644]
deps/npm/test/tap/lifecycle.js [new file with mode: 0644]
deps/npm/test/tap/ls-depth-cli.js [new file with mode: 0644]
deps/npm/test/tap/ls-depth/package.json [new file with mode: 0644]
deps/npm/test/tap/peer-deps-invalid.js
deps/npm/test/tap/peer-deps-invalid/file-fail.js [new file with mode: 0644]
deps/npm/test/tap/peer-deps-invalid/file-ok.js [new file with mode: 0644]
deps/npm/test/tap/peer-deps-without-package-json.js
deps/npm/test/tap/peer-deps-without-package-json/file-js.js [new file with mode: 0644]
deps/npm/test/tap/startstop.js
deps/npm/wercker.yml [new file with mode: 0644]

index 2383245..0c08862 100644 (file)
@@ -38,6 +38,10 @@ paths, etc.) then read on.
 There's a pretty robust install script at
 <https://www.npmjs.org/install.sh>.  You can download that and run it.
 
+Here's an example using curl:
+
+    curl -L https://npmjs.org/install.sh | sh
+
 ### Slightly Fancier
 
 You can set any npm configuration params with that script:
index dea8773..d05684e 100644 (file)
@@ -4,7 +4,7 @@ npm(3) -- node package manager
 ## SYNOPSIS
 
     var npm = require("npm")
-    npm.load([configObject], function (er, npm) {
+    npm.load([configObject, ]function (er, npm) {
       // use the npm object, now that it's loaded.
 
       npm.config.set(key, val)
index 47820a7..62eec2d 100644 (file)
@@ -24,7 +24,7 @@ A `package` is:
 * a) a folder containing a program described by a package.json file
 * b) a gzipped tarball containing (a)
 * c) a url that resolves to (b)
-* d) a `<name>@<version>` that is published on the registry with (c)
+* d) a `<name>@<version>` that is published on the registry (see `npm-registry(7)`) with (c)
 * e) a `<name>@<tag>` that points to (d)
 * f) a `<name>` that has a "latest" tag satisfying (e)
 * g) a `<git remote url>` that resolves to (b)
@@ -254,7 +254,6 @@ affects a real use-case, it will be investigated.
 * npm-config(7)
 * npmrc(5)
 * npm-registry(7)
-* npm-folders(5)
 * npm-tag(1)
 * npm-rm(1)
 * npm-shrinkwrap(1)
index 6c3c2b7..80b813c 100644 (file)
@@ -3,11 +3,13 @@ npm-run-script(1) -- Run arbitrary package scripts
 
 ## SYNOPSIS
 
-    npm run-script <script> <name>
+    npm run-script [<pkg>] <command>
 
 ## DESCRIPTION
 
-This runs an arbitrary command from a package's "scripts" object.
+This runs an arbitrary command from a package's `"scripts"` object.
+If no package name is provided, it will search for a `package.json`
+in the current folder and use its `"scripts"` object.
 
 It is used by the test, start, restart, and stop commands, but can be
 called directly, as well.
index 9e1bf6e..b9b05d4 100644 (file)
@@ -311,6 +311,7 @@ See semver(7) for more details about specifying version ranges.
 * `<version`
 * `<=version`
 * `~version` "Approximately equivalent to version"  See semver(7)
+* `^version` "Compatible with version"  See semver(7)
 * `1.2.x` 1.2.0, 1.2.1, etc., but not 1.3.0
 * `http://...` See 'URLs as Dependencies' below
 * `*` Matches any version
index 782081c..792ce47 100644 (file)
@@ -3,7 +3,7 @@
   <title>README</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
   <link rel="stylesheet" type="text/css" href="../static/style.css">
-  <link rel="canonical" href="https://www.npmjs.org/doc/<a href="../doc/README.html">README</a>.html">
+  <link rel="canonical" href="https://www.npmjs.org/doc/README.html">
   <script async=true src="../../static/toc.js"></script>
 
   <body>
@@ -49,6 +49,10 @@ paths, etc.) then read on.</p>
 <p>There&#39;s a pretty robust install script at
 <a href="https://www.npmjs.org/install.sh">https://www.npmjs.org/install.sh</a>.  You can download that and run it.</p>
 
+<p>Here&#39;s an example using curl:</p>
+
+<pre><code>curl -L https://npmjs.org/install.sh | sh</code></pre>
+
 <h3 id="Slightly-Fancier">Slightly Fancier</h3>
 
 <p>You can set any npm configuration params with that script:</p>
@@ -256,5 +260,5 @@ will no doubt tell you to put the output in a gist or email.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@1.4.7</p>
+<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@1.4.8</p>
 
index e8d570c..50bc54e 100644 (file)
@@ -32,5 +32,5 @@ to the <code>npm.bin</code> member.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-bin &mdash; npm@1.4.7</p>
+<p id="footer">npm-bin &mdash; npm@1.4.8</p>
 
index 0849c7b..d0cf9f3 100644 (file)
@@ -38,5 +38,5 @@ friendly for programmatic use.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-bugs &mdash; npm@1.4.7</p>
+<p id="footer">npm-bugs &mdash; npm@1.4.8</p>
 
index 8e28ec1..735905e 100644 (file)
@@ -41,5 +41,5 @@ usage, or <code>man 3 npm-&lt;command&gt;</code> for programmatic usage.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-commands &mdash; npm@1.4.7</p>
+<p id="footer">npm-commands &mdash; npm@1.4.8</p>
 
index 2b424e0..e1d6855 100644 (file)
@@ -46,5 +46,5 @@ functions instead.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-config &mdash; npm@1.4.7</p>
+<p id="footer">npm-config &mdash; npm@1.4.8</p>
 
index 7a44a2e..2513519 100644 (file)
@@ -45,5 +45,5 @@ install the package.</p></li></ul>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-deprecate &mdash; npm@1.4.7</p>
+<p id="footer">npm-deprecate &mdash; npm@1.4.8</p>
 
index cb3ad99..ad50e54 100644 (file)
@@ -38,5 +38,5 @@ friendly for programmatic use.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-docs &mdash; npm@1.4.7</p>
+<p id="footer">npm-docs &mdash; npm@1.4.8</p>
 
index 6eae8b4..38e6915 100644 (file)
@@ -43,5 +43,5 @@ and how this is used.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-edit &mdash; npm@1.4.7</p>
+<p id="footer">npm-edit &mdash; npm@1.4.8</p>
 
index ea2c890..7991f75 100644 (file)
@@ -37,5 +37,5 @@ sure to use <code>npm rebuild &lt;pkg&gt;</code> if you make any changes.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-explore &mdash; npm@1.4.7</p>
+<p id="footer">npm-explore &mdash; npm@1.4.8</p>
 
index 5253986..4bfb677 100644 (file)
@@ -45,5 +45,5 @@ Name of the file that matched</li></ul>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-help-search &mdash; npm@1.4.7</p>
+<p id="footer">npm-help-search &mdash; npm@1.4.8</p>
 
index 7a51f64..90eac28 100644 (file)
@@ -48,5 +48,5 @@ then go ahead and use this programmatically.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-init &mdash; npm@1.4.7</p>
+<p id="footer">npm-init &mdash; npm@1.4.8</p>
 
index f128d43..d78b3f4 100644 (file)
@@ -38,5 +38,5 @@ installed or when an error has been encountered.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-install &mdash; npm@1.4.7</p>
+<p id="footer">npm-install &mdash; npm@1.4.8</p>
 
index 57eb24f..24461c0 100644 (file)
@@ -52,5 +52,5 @@ the package in the current working directory</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-link &mdash; npm@1.4.7</p>
+<p id="footer">npm-link &mdash; npm@1.4.8</p>
 
index 0672622..55e4500 100644 (file)
@@ -45,5 +45,5 @@ config object.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-load &mdash; npm@1.4.7</p>
+<p id="footer">npm-load &mdash; npm@1.4.8</p>
 
index 06b1be0..56553d2 100644 (file)
@@ -72,5 +72,5 @@ dependency will only be output once.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-ls &mdash; npm@1.4.7</p>
+<p id="footer">npm-ls &mdash; npm@1.4.8</p>
 
index 81383f9..311922f 100644 (file)
@@ -32,5 +32,5 @@ currently outdated.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-outdated &mdash; npm@1.4.7</p>
+<p id="footer">npm-outdated &mdash; npm@1.4.8</p>
 
index 95a46c2..fbaef43 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@1.4.7</p>
+<p id="footer">npm-owner &mdash; npm@1.4.8</p>
 
index bb911e8..7af6b83 100644 (file)
@@ -38,5 +38,5 @@ overwritten the second time.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-pack &mdash; npm@1.4.7</p>
+<p id="footer">npm-pack &mdash; npm@1.4.8</p>
 
index 218f02f..808290c 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-prefix &mdash; npm@1.4.7</p>
+<p id="footer">npm-prefix &mdash; npm@1.4.8</p>
 
index c125b64..1ade79f 100644 (file)
@@ -36,5 +36,5 @@ package&#39;s dependencies list.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-prune &mdash; npm@1.4.7</p>
+<p id="footer">npm-prune &mdash; npm@1.4.8</p>
 
index 0fcd6f8..1220fd6 100644 (file)
@@ -45,5 +45,5 @@ the registry.  Overwrites when the &quot;force&quot; environment variable is set
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-publish &mdash; npm@1.4.7</p>
+<p id="footer">npm-publish &mdash; npm@1.4.8</p>
 
index b15b33e..0e22893 100644 (file)
@@ -35,5 +35,5 @@ the new binary. If no &#39;packages&#39; parameter is specify, every package wil
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-rebuild &mdash; npm@1.4.7</p>
+<p id="footer">npm-rebuild &mdash; npm@1.4.8</p>
 
index 2e9ba10..a4a9820 100644 (file)
@@ -38,5 +38,5 @@ friendly for programmatic use.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-repo &mdash; npm@1.4.7</p>
+<p id="footer">npm-repo &mdash; npm@1.4.8</p>
 
index 0466c9b..71cad00 100644 (file)
@@ -40,5 +40,5 @@ in the <code>packages</code> parameter.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-restart &mdash; npm@1.4.7</p>
+<p id="footer">npm-restart &mdash; npm@1.4.8</p>
 
index e973653..e1dd216 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-root &mdash; npm@1.4.7</p>
+<p id="footer">npm-root &mdash; npm@1.4.8</p>
 
index cadce60..c6be4c6 100644 (file)
@@ -42,5 +42,5 @@ assumed to be the command to run. All other elements are ignored.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-run-script &mdash; npm@1.4.7</p>
+<p id="footer">npm-run-script &mdash; npm@1.4.8</p>
 
index 05894ce..dcb5e0f 100644 (file)
@@ -45,5 +45,5 @@ like).</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-search &mdash; npm@1.4.7</p>
+<p id="footer">npm-search &mdash; npm@1.4.8</p>
 
index ee76b5f..cce2264 100644 (file)
@@ -39,5 +39,5 @@ been saved.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-shrinkwrap &mdash; npm@1.4.7</p>
+<p id="footer">npm-shrinkwrap &mdash; npm@1.4.8</p>
 
index a6d069e..ec2f369 100644 (file)
@@ -32,5 +32,5 @@ in the <code>packages</code> parameter.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-start &mdash; npm@1.4.7</p>
+<p id="footer">npm-start &mdash; npm@1.4.8</p>
 
index 0eb6fe9..882ebbe 100644 (file)
@@ -32,5 +32,5 @@ in the <code>packages</code> parameter.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-stop &mdash; npm@1.4.7</p>
+<p id="footer">npm-stop &mdash; npm@1.4.8</p>
 
index 0180f6c..42b82ac 100644 (file)
@@ -46,5 +46,5 @@ dependencies into the submodule folder.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-submodule &mdash; npm@1.4.7</p>
+<p id="footer">npm-submodule &mdash; npm@1.4.8</p>
 
index d4331c3..dbf97be 100644 (file)
@@ -42,5 +42,5 @@ used. For more information about how to set this config, check
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-tag &mdash; npm@1.4.7</p>
+<p id="footer">npm-tag &mdash; npm@1.4.8</p>
 
index 57dc252..2820fa7 100644 (file)
@@ -35,5 +35,5 @@ in the <code>packages</code> parameter.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-test &mdash; npm@1.4.7</p>
+<p id="footer">npm-test &mdash; npm@1.4.8</p>
 
index e3e60e0..2a568d9 100644 (file)
@@ -35,5 +35,5 @@ uninstalled or when an error has been encountered.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-uninstall &mdash; npm@1.4.7</p>
+<p id="footer">npm-uninstall &mdash; npm@1.4.8</p>
 
index a95d7a4..09748b7 100644 (file)
@@ -39,5 +39,5 @@ the root package entry is removed from the registry entirely.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-unpublish &mdash; npm@1.4.7</p>
+<p id="footer">npm-unpublish &mdash; npm@1.4.8</p>
 
index 26e79de..b929ad7 100644 (file)
@@ -31,5 +31,5 @@
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-update &mdash; npm@1.4.7</p>
+<p id="footer">npm-update &mdash; npm@1.4.8</p>
 
index aada25a..ffe2a40 100644 (file)
@@ -37,5 +37,5 @@ not have exactly one element. The only element should be a version number.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-version &mdash; npm@1.4.7</p>
+<p id="footer">npm-version &mdash; npm@1.4.8</p>
 
index 685445b..09dfffc 100644 (file)
@@ -112,5 +112,5 @@ the field name.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-view &mdash; npm@1.4.7</p>
+<p id="footer">npm-view &mdash; npm@1.4.8</p>
 
index 37c3721..cccc2f5 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-whoami &mdash; npm@1.4.7</p>
+<p id="footer">npm-whoami &mdash; npm@1.4.8</p>
 
index fab4dc1..75f8565 100644 (file)
@@ -14,7 +14,7 @@
 <h2 id="SYNOPSIS">SYNOPSIS</h2>
 
 <pre><code>var npm = require(&quot;npm&quot;)
-npm.load([configObject], function (er, npm) {
+npm.load([configObject, ]function (er, npm) {
   // use the npm object, now that it&#39;s loaded.
 
   npm.config.set(key, val)
@@ -27,7 +27,7 @@ npm.load([configObject], function (er, npm) {
 
 <h2 id="VERSION">VERSION</h2>
 
-<p>1.4.7</p>
+<p>1.4.8</p>
 
 <h2 id="DESCRIPTION">DESCRIPTION</h2>
 
@@ -105,5 +105,5 @@ method names.  Use the <code>npm.deref</code> method to find the real name.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm &mdash; npm@1.4.7</p>
+<p id="footer">npm &mdash; npm@1.4.8</p>
 
index 2a18cfd..e97c3c2 100644 (file)
@@ -52,5 +52,5 @@ authorize on a new machine.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-adduser &mdash; npm@1.4.7</p>
+<p id="footer">npm-adduser &mdash; npm@1.4.8</p>
 
index 8d107f2..f753966 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-bin &mdash; npm@1.4.7</p>
+<p id="footer">npm-bin &mdash; npm@1.4.8</p>
 
index 3f4473e..821dbb3 100644 (file)
@@ -51,5 +51,5 @@ a <code>package.json</code> in the current folder and use the <code>name</code>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-bugs &mdash; npm@1.4.7</p>
+<p id="footer">npm-bugs &mdash; npm@1.4.8</p>
 
index 46ea908..89d75f1 100644 (file)
@@ -38,5 +38,5 @@ A folder containing a <code>package.json</code> file in its root.</li></ul>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-build &mdash; npm@1.4.7</p>
+<p id="footer">npm-build &mdash; npm@1.4.8</p>
 
index c76024e..4c1de8c 100644 (file)
@@ -33,5 +33,5 @@ install packages into the local space.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-bundle &mdash; npm@1.4.7</p>
+<p id="footer">npm-bundle &mdash; npm@1.4.8</p>
 
index 60a7e30..90013f9 100644 (file)
@@ -79,5 +79,5 @@ they do not make an HTTP request to the registry.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-cache &mdash; npm@1.4.7</p>
+<p id="footer">npm-cache &mdash; npm@1.4.8</p>
 
index f79d2c4..357d095 100644 (file)
@@ -46,5 +46,5 @@ completions based on the arguments.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-completion &mdash; npm@1.4.7</p>
+<p id="footer">npm-completion &mdash; npm@1.4.8</p>
 
index c369ab5..ad93e78 100644 (file)
@@ -86,5 +86,5 @@ global config.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-config &mdash; npm@1.4.7</p>
+<p id="footer">npm-config &mdash; npm@1.4.8</p>
 
index c069b85..2576a78 100644 (file)
@@ -75,5 +75,5 @@ versions.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-dedupe &mdash; npm@1.4.7</p>
+<p id="footer">npm-dedupe &mdash; npm@1.4.8</p>
 
index f7a8ad4..13a9b3b 100644 (file)
@@ -44,5 +44,5 @@ something like this:</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-deprecate &mdash; npm@1.4.7</p>
+<p id="footer">npm-deprecate &mdash; npm@1.4.8</p>
 
index 0be9168..af1fcc0 100644 (file)
@@ -54,5 +54,5 @@ the current folder and use the <code>name</code> property.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-docs &mdash; npm@1.4.7</p>
+<p id="footer">npm-docs &mdash; npm@1.4.8</p>
 
index abb7867..91b064c 100644 (file)
@@ -50,5 +50,5 @@ or <code>&quot;notepad&quot;</code> on Windows.</li><li>Type: path</li></ul>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-edit &mdash; npm@1.4.7</p>
+<p id="footer">npm-edit &mdash; npm@1.4.8</p>
 
index 7a615f7..7febeee 100644 (file)
@@ -53,5 +53,5 @@ Windows</li><li>Type: path</li></ul>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-explore &mdash; npm@1.4.7</p>
+<p id="footer">npm-explore &mdash; npm@1.4.8</p>
 
index 524301a..16e3773 100644 (file)
@@ -51,5 +51,5 @@ where the terms were found in the documentation.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-help-search &mdash; npm@1.4.7</p>
+<p id="footer">npm-help-search &mdash; npm@1.4.8</p>
 
index 625c093..24ec253 100644 (file)
@@ -49,5 +49,5 @@ matches are equivalent to specifying a topic name.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-help &mdash; npm@1.4.7</p>
+<p id="footer">npm-help &mdash; npm@1.4.8</p>
 
index ed4fc85..fe2d1af 100644 (file)
@@ -42,5 +42,5 @@ without a really good reason to do so.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-init &mdash; npm@1.4.7</p>
+<p id="footer">npm-init &mdash; npm@1.4.8</p>
 
index 50a1d81..3e0a78f 100644 (file)
@@ -31,7 +31,7 @@ by that. See <a href="../cli/npm-shrinkwrap.html">npm-shrinkwrap(1)</a>.</p>
 
 <p>A <code>package</code> is:</p>
 
-<ul><li>a) a folder containing a program described by a package.json file</li><li>b) a gzipped tarball containing (a)</li><li>c) a url that resolves to (b)</li><li>d) a <code>&lt;name&gt;@&lt;version&gt;</code> that is published on the registry with (c)</li><li>e) a <code>&lt;name&gt;@&lt;tag&gt;</code> that points to (d)</li><li>f) a <code>&lt;name&gt;</code> that has a &quot;latest&quot; tag satisfying (e)</li><li>g) a <code>&lt;git remote url&gt;</code> that resolves to (b)</li></ul>
+<ul><li>a) a folder containing a program described by a package.json file</li><li>b) a gzipped tarball containing (a)</li><li>c) a url that resolves to (b)</li><li>d) a <code>&lt;name&gt;@&lt;version&gt;</code> that is published on the registry (see <code><a href="../misc/npm-registry.html">npm-registry(7)</a></code>) with (c)</li><li>e) a <code>&lt;name&gt;@&lt;tag&gt;</code> that points to (d)</li><li>f) a <code>&lt;name&gt;</code> that has a &quot;latest&quot; tag satisfying (e)</li><li>g) a <code>&lt;git remote url&gt;</code> that resolves to (b)</li></ul>
 
 <p>Even if you never publish your package, you can still get a lot of
 benefits of using npm if you just want to write a node program (a), and
@@ -154,7 +154,7 @@ affects a real use-case, it will be investigated.</p>
 
 <h2 id="SEE-ALSO">SEE ALSO</h2>
 
-<ul><li><a href="../files/npm-folders.html">npm-folders(5)</a></li><li><a href="../cli/npm-update.html">npm-update(1)</a></li><li><a href="../cli/npm-link.html">npm-link(1)</a></li><li><a href="../cli/npm-rebuild.html">npm-rebuild(1)</a></li><li><a href="../misc/npm-scripts.html">npm-scripts(7)</a></li><li><a href="../cli/npm-build.html">npm-build(1)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li><li><a href="../files/npm-folders.html">npm-folders(5)</a></li><li><a href="../cli/npm-tag.html">npm-tag(1)</a></li><li><a href="../cli/npm-rm.html">npm-rm(1)</a></li><li><a href="../cli/npm-shrinkwrap.html">npm-shrinkwrap(1)</a></li></ul>
+<ul><li><a href="../files/npm-folders.html">npm-folders(5)</a></li><li><a href="../cli/npm-update.html">npm-update(1)</a></li><li><a href="../cli/npm-link.html">npm-link(1)</a></li><li><a href="../cli/npm-rebuild.html">npm-rebuild(1)</a></li><li><a href="../misc/npm-scripts.html">npm-scripts(7)</a></li><li><a href="../cli/npm-build.html">npm-build(1)</a></li><li><a href="../cli/npm-config.html">npm-config(1)</a></li><li><a href="../misc/npm-config.html">npm-config(7)</a></li><li><a href="../files/npmrc.html">npmrc(5)</a></li><li><a href="../misc/npm-registry.html">npm-registry(7)</a></li><li><a href="../cli/npm-tag.html">npm-tag(1)</a></li><li><a href="../cli/npm-rm.html">npm-rm(1)</a></li><li><a href="../cli/npm-shrinkwrap.html">npm-shrinkwrap(1)</a></li></ul>
 </div>
 
 <table border=0 cellspacing=0 cellpadding=0 id=npmlogo>
@@ -166,5 +166,5 @@ affects a real use-case, it will be investigated.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-install &mdash; npm@1.4.7</p>
+<p id="footer">npm-install &mdash; npm@1.4.8</p>
 
index 85bcc05..063b2a4 100644 (file)
@@ -75,5 +75,5 @@ installation target into your project&#39;s <code>node_modules</code> folder.</p
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-link &mdash; npm@1.4.7</p>
+<p id="footer">npm-link &mdash; npm@1.4.8</p>
 
index 260033b..568e4e1 100644 (file)
@@ -28,7 +28,7 @@ limit the results to only the paths to the packages named.  Note that
 nested packages will <em>also</em> show the paths to the specified packages.
 For example, running <code>npm ls promzard</code> in npm&#39;s source tree will show:</p>
 
-<pre><code>npm@1.4.7 /path/to/npm
+<pre><code>npm@1.4.8 /path/to/npm
 â””─┬ init-package-json@0.0.4
   â””── promzard@0.1.5</code></pre>
 
@@ -87,5 +87,5 @@ project.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-ls &mdash; npm@1.4.7</p>
+<p id="footer">npm-ls &mdash; npm@1.4.8</p>
 
index 52f46b2..ee938ac 100644 (file)
@@ -71,5 +71,5 @@ project.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-outdated &mdash; npm@1.4.7</p>
+<p id="footer">npm-outdated &mdash; npm@1.4.8</p>
 
index 9887040..2fba0e0 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@1.4.7</p>
+<p id="footer">npm-owner &mdash; npm@1.4.8</p>
 
index d3ebdba..323da3e 100644 (file)
@@ -42,5 +42,5 @@ overwritten the second time.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-pack &mdash; npm@1.4.7</p>
+<p id="footer">npm-pack &mdash; npm@1.4.8</p>
 
index 35ea1ab..fce8f43 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-prefix &mdash; npm@1.4.7</p>
+<p id="footer">npm-prefix &mdash; npm@1.4.8</p>
 
index 8fc7298..e7ee0ee 100644 (file)
@@ -42,5 +42,5 @@ packages specified in your <code>devDependencies</code>.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-prune &mdash; npm@1.4.7</p>
+<p id="footer">npm-prune &mdash; npm@1.4.8</p>
 
index 3ff10e9..14572af 100644 (file)
@@ -49,5 +49,5 @@ it is removed with <a href="../cli/npm-unpublish.html">npm-unpublish(1)</a>.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-publish &mdash; npm@1.4.7</p>
+<p id="footer">npm-publish &mdash; npm@1.4.8</p>
 
index 0dc9021..bc4061b 100644 (file)
@@ -39,5 +39,5 @@ the new binary.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-rebuild &mdash; npm@1.4.7</p>
+<p id="footer">npm-rebuild &mdash; npm@1.4.8</p>
 
index 7d6bda4..1785142 100644 (file)
@@ -45,5 +45,5 @@ a <code>package.json</code> in the current folder and use the <code>name</code>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-repo &mdash; npm@1.4.7</p>
+<p id="footer">npm-repo &mdash; npm@1.4.8</p>
 
index 17caa3c..df666ff 100644 (file)
@@ -37,5 +37,5 @@ the &quot;start&quot; script.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-restart &mdash; npm@1.4.7</p>
+<p id="footer">npm-restart &mdash; npm@1.4.8</p>
 
index aa98f3f..5a66704 100644 (file)
@@ -37,5 +37,5 @@ on its behalf.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-rm &mdash; npm@1.4.7</p>
+<p id="footer">npm-rm &mdash; npm@1.4.8</p>
 
index 85b7f6d..527667f 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-root &mdash; npm@1.4.7</p>
+<p id="footer">npm-root &mdash; npm@1.4.8</p>
 
index e410640..c602aeb 100644 (file)
 
 <h2 id="SYNOPSIS">SYNOPSIS</h2>
 
-<pre><code>npm run-script &lt;script&gt; &lt;name&gt;</code></pre>
+<pre><code>npm run-script [&lt;pkg&gt;] &lt;command&gt;</code></pre>
 
 <h2 id="DESCRIPTION">DESCRIPTION</h2>
 
-<p>This runs an arbitrary command from a package&#39;s &quot;scripts&quot; object.</p>
+<p>This runs an arbitrary command from a package&#39;s <code>&quot;scripts&quot;</code> object.
+If no package name is provided, it will search for a <code>package.json</code>
+in the current folder and use its <code>&quot;scripts&quot;</code> object.</p>
 
 <p>It is used by the test, start, restart, and stop commands, but can be
 called directly, as well.</p>
@@ -36,5 +38,5 @@ called directly, as well.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-run-script &mdash; npm@1.4.7</p>
+<p id="footer">npm-run-script &mdash; npm@1.4.8</p>
 
index 6fc0416..7df4e26 100644 (file)
@@ -50,5 +50,5 @@ fall on multiple lines.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-search &mdash; npm@1.4.7</p>
+<p id="footer">npm-search &mdash; npm@1.4.8</p>
 
index a882921..1f0464e 100644 (file)
@@ -196,5 +196,5 @@ contents rather than versions.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-shrinkwrap &mdash; npm@1.4.7</p>
+<p id="footer">npm-shrinkwrap &mdash; npm@1.4.8</p>
 
index 034b5ea..a02ba32 100644 (file)
@@ -39,5 +39,5 @@ a vaguely positive way to show that you care.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-star &mdash; npm@1.4.7</p>
+<p id="footer">npm-star &mdash; npm@1.4.8</p>
 
index b8d3f7f..9f1568f 100644 (file)
@@ -38,5 +38,5 @@ you will most certainly enjoy this command.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-stars &mdash; npm@1.4.7</p>
+<p id="footer">npm-stars &mdash; npm@1.4.8</p>
 
index 0756eb6..c8e4864 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-start &mdash; npm@1.4.7</p>
+<p id="footer">npm-start &mdash; npm@1.4.8</p>
 
index d7d66ec..b746a61 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-stop &mdash; npm@1.4.7</p>
+<p id="footer">npm-stop &mdash; npm@1.4.8</p>
 
index ed73b38..f435828 100644 (file)
@@ -46,5 +46,5 @@ dependencies into the submodule folder.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-submodule &mdash; npm@1.4.7</p>
+<p id="footer">npm-submodule &mdash; npm@1.4.8</p>
 
index 51f529f..26c36d4 100644 (file)
@@ -47,5 +47,5 @@ of using a specific version number:</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-tag &mdash; npm@1.4.7</p>
+<p id="footer">npm-tag &mdash; npm@1.4.8</p>
 
index 0afbd5b..d36b4df 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@1.4.7</p>
+<p id="footer">npm-test &mdash; npm@1.4.8</p>
 
index bfdeca1..f77e270 100644 (file)
@@ -53,5 +53,5 @@ npm uninstall dtrace-provider --save-optional</code></pre>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-uninstall &mdash; npm@1.4.7</p>
+<p id="footer">npm-uninstall &mdash; npm@1.4.8</p>
 
index de3e2f5..e7864dc 100644 (file)
@@ -51,5 +51,5 @@ package again, a new version number must be used.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-unpublish &mdash; npm@1.4.7</p>
+<p id="footer">npm-unpublish &mdash; npm@1.4.8</p>
 
index 3f15e4e..ca7974d 100644 (file)
@@ -39,5 +39,5 @@ If no package name is specified, all packages in the specified location (global
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-update &mdash; npm@1.4.7</p>
+<p id="footer">npm-update &mdash; npm@1.4.8</p>
 
index b90a642..88fc4e6 100644 (file)
@@ -62,5 +62,5 @@ Enter passphrase:</code></pre>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-version &mdash; npm@1.4.7</p>
+<p id="footer">npm-version &mdash; npm@1.4.8</p>
 
index b332c4a..83a295a 100644 (file)
@@ -104,5 +104,5 @@ the field name.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-view &mdash; npm@1.4.7</p>
+<p id="footer">npm-view &mdash; npm@1.4.8</p>
 
index aecaf14..9330dc3 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@1.4.7</p>
+<p id="footer">npm-whoami &mdash; npm@1.4.8</p>
 
index 8770da0..50a4bb6 100644 (file)
@@ -17,7 +17,7 @@
 
 <h2 id="VERSION">VERSION</h2>
 
-<p>1.4.7</p>
+<p>1.4.8</p>
 
 <h2 id="DESCRIPTION">DESCRIPTION</h2>
 
@@ -144,5 +144,5 @@ will no doubt tell you to put the output in a gist or email.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm &mdash; npm@1.4.7</p>
+<p id="footer">npm &mdash; npm@1.4.8</p>
 
index 75e44e2..eb9606b 100644 (file)
@@ -218,5 +218,5 @@ cannot be found elsewhere.  See <code><a href="../files/package.json.html">packa
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-folders &mdash; npm@1.4.7</p>
+<p id="footer">npm-folders &mdash; npm@1.4.8</p>
 
index 75e44e2..eb9606b 100644 (file)
@@ -218,5 +218,5 @@ cannot be found elsewhere.  See <code><a href="../files/package.json.html">packa
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-folders &mdash; npm@1.4.7</p>
+<p id="footer">npm-folders &mdash; npm@1.4.8</p>
 
index b8dc0d4..bcb0a56 100644 (file)
@@ -311,7 +311,7 @@ a tarball or git URL.</p>
 
 <p>See <a href="../misc/semver.html">semver(7)</a> for more details about specifying version ranges.</p>
 
-<ul><li><code>version</code> Must match <code>version</code> exactly</li><li><code>&gt;version</code> Must be greater than <code>version</code></li><li><code>&gt;=version</code> etc</li><li><code>&lt;version</code></li><li><code>&lt;=version</code></li><li><code>~version</code> &quot;Approximately equivalent to version&quot;  See <a href="../misc/semver.html">semver(7)</a></li><li><code>1.2.x</code> 1.2.0, 1.2.1, etc., but not 1.3.0</li><li><code>http://...</code> See &#39;URLs as Dependencies&#39; below</li><li><code>*</code> Matches any version</li><li><code>&quot;&quot;</code> (just an empty string) Same as <code>*</code></li><li><code>version1 - version2</code> Same as <code>&gt;=version1 &lt;=version2</code>.</li><li><code>range1 || range2</code> Passes if either range1 or range2 are satisfied.</li><li><code>git...</code> See &#39;Git URLs as Dependencies&#39; below</li><li><code>user/repo</code> See &#39;GitHub URLs&#39; below</li></ul>
+<ul><li><code>version</code> Must match <code>version</code> exactly</li><li><code>&gt;version</code> Must be greater than <code>version</code></li><li><code>&gt;=version</code> etc</li><li><code>&lt;version</code></li><li><code>&lt;=version</code></li><li><code>~version</code> &quot;Approximately equivalent to version&quot;  See <a href="../misc/semver.html">semver(7)</a></li><li><code>^version</code> &quot;Compatible with version&quot;  See <a href="../misc/semver.html">semver(7)</a></li><li><code>1.2.x</code> 1.2.0, 1.2.1, etc., but not 1.3.0</li><li><code>http://...</code> See &#39;URLs as Dependencies&#39; below</li><li><code>*</code> Matches any version</li><li><code>&quot;&quot;</code> (just an empty string) Same as <code>*</code></li><li><code>version1 - version2</code> Same as <code>&gt;=version1 &lt;=version2</code>.</li><li><code>range1 || range2</code> Passes if either range1 or range2 are satisfied.</li><li><code>git...</code> See &#39;Git URLs as Dependencies&#39; below</li><li><code>user/repo</code> See &#39;GitHub URLs&#39; below</li></ul>
 
 <p>For example, these are all valid:</p>
 
@@ -589,5 +589,5 @@ ignored.</p></li></ul>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">package.json &mdash; npm@1.4.7</p>
+<p id="footer">package.json &mdash; npm@1.4.8</p>
 
index 608c497..10dff0f 100644 (file)
@@ -72,5 +72,5 @@ manner.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npmrc &mdash; npm@1.4.7</p>
+<p id="footer">npmrc &mdash; npm@1.4.8</p>
 
index b8dc0d4..bcb0a56 100644 (file)
@@ -311,7 +311,7 @@ a tarball or git URL.</p>
 
 <p>See <a href="../misc/semver.html">semver(7)</a> for more details about specifying version ranges.</p>
 
-<ul><li><code>version</code> Must match <code>version</code> exactly</li><li><code>&gt;version</code> Must be greater than <code>version</code></li><li><code>&gt;=version</code> etc</li><li><code>&lt;version</code></li><li><code>&lt;=version</code></li><li><code>~version</code> &quot;Approximately equivalent to version&quot;  See <a href="../misc/semver.html">semver(7)</a></li><li><code>1.2.x</code> 1.2.0, 1.2.1, etc., but not 1.3.0</li><li><code>http://...</code> See &#39;URLs as Dependencies&#39; below</li><li><code>*</code> Matches any version</li><li><code>&quot;&quot;</code> (just an empty string) Same as <code>*</code></li><li><code>version1 - version2</code> Same as <code>&gt;=version1 &lt;=version2</code>.</li><li><code>range1 || range2</code> Passes if either range1 or range2 are satisfied.</li><li><code>git...</code> See &#39;Git URLs as Dependencies&#39; below</li><li><code>user/repo</code> See &#39;GitHub URLs&#39; below</li></ul>
+<ul><li><code>version</code> Must match <code>version</code> exactly</li><li><code>&gt;version</code> Must be greater than <code>version</code></li><li><code>&gt;=version</code> etc</li><li><code>&lt;version</code></li><li><code>&lt;=version</code></li><li><code>~version</code> &quot;Approximately equivalent to version&quot;  See <a href="../misc/semver.html">semver(7)</a></li><li><code>^version</code> &quot;Compatible with version&quot;  See <a href="../misc/semver.html">semver(7)</a></li><li><code>1.2.x</code> 1.2.0, 1.2.1, etc., but not 1.3.0</li><li><code>http://...</code> See &#39;URLs as Dependencies&#39; below</li><li><code>*</code> Matches any version</li><li><code>&quot;&quot;</code> (just an empty string) Same as <code>*</code></li><li><code>version1 - version2</code> Same as <code>&gt;=version1 &lt;=version2</code>.</li><li><code>range1 || range2</code> Passes if either range1 or range2 are satisfied.</li><li><code>git...</code> See &#39;Git URLs as Dependencies&#39; below</li><li><code>user/repo</code> See &#39;GitHub URLs&#39; below</li></ul>
 
 <p>For example, these are all valid:</p>
 
@@ -589,5 +589,5 @@ ignored.</p></li></ul>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">package.json &mdash; npm@1.4.7</p>
+<p id="footer">package.json &mdash; npm@1.4.8</p>
 
index a889728..8ddfe68 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@1.4.7</p>
+<p id="footer">npm-index &mdash; npm@1.4.8</p>
 
index b3c373c..718683c 100644 (file)
@@ -195,5 +195,5 @@ set to anything.&quot;</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-coding-style &mdash; npm@1.4.7</p>
+<p id="footer">npm-coding-style &mdash; npm@1.4.8</p>
 
index 1c44de3..54ff62e 100644 (file)
@@ -743,5 +743,5 @@ hash, and exit successfully.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-config &mdash; npm@1.4.7</p>
+<p id="footer">npm-config &mdash; npm@1.4.8</p>
 
index a3cfc32..c079166 100644 (file)
@@ -187,5 +187,5 @@ from a fresh checkout.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-developers &mdash; npm@1.4.7</p>
+<p id="footer">npm-developers &mdash; npm@1.4.8</p>
 
index 15dfd2a..b6fa662 100644 (file)
@@ -105,5 +105,5 @@ things into it.</li></ol>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-disputes &mdash; npm@1.4.7</p>
+<p id="footer">npm-disputes &mdash; npm@1.4.8</p>
 
index 7e31007..556f1cb 100644 (file)
@@ -361,5 +361,5 @@ good folks at <a href="https://www.npmjs.com">npm, Inc.</a></p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-faq &mdash; npm@1.4.7</p>
+<p id="footer">npm-faq &mdash; npm@1.4.8</p>
 
index 4afdf11..b4892a7 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@1.4.7</p>
+<p id="footer">npm-index &mdash; npm@1.4.8</p>
 
index 3c0fea2..0828d93 100644 (file)
@@ -84,5 +84,5 @@ effectively implement the entire CouchDB API anyway.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-registry &mdash; npm@1.4.7</p>
+<p id="footer">npm-registry &mdash; npm@1.4.8</p>
 
index 1e41008..c1e77d6 100644 (file)
@@ -236,5 +236,5 @@ the user will sudo the npm command in question.</li></ul>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">npm-scripts &mdash; npm@1.4.7</p>
+<p id="footer">npm-scripts &mdash; npm@1.4.8</p>
 
index 40dab55..08d7a4f 100644 (file)
@@ -71,5 +71,5 @@ modules.  To track those down, you can do the following:</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">removing-npm &mdash; npm@1.4.7</p>
+<p id="footer">removing-npm &mdash; npm@1.4.8</p>
 
index 51473c7..3dae36b 100644 (file)
@@ -130,5 +130,5 @@ range, use the <code>satisfies(version, range)</code> function.</p>
 <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
 <tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
 </table>
-<p id="footer">semver &mdash; npm@1.4.7</p>
+<p id="footer">semver &mdash; npm@1.4.8</p>
 
index 739f142..94a1196 100644 (file)
@@ -66,15 +66,24 @@ function readUsername (c, u, cb) {
 function readPassword (c, u, cb) {
   var v = userValidate.pw
 
-  if (!c.changed) {
-    u.p = c.p
-    return cb()
+  var prompt
+  if (c.p && !c.changed) {
+    prompt = "Password: (or leave unchanged) "
+  } else {
+    prompt = "Password: "
   }
-  read({prompt: "Password: ", silent: true}, function (er, pw) {
+
+  read({prompt: prompt, silent: true}, function (er, pw) {
     if (er) {
       return cb(er.message === "cancelled" ? er.message : er)
     }
 
+    if (!c.changed && pw === "") {
+      // when the username was not changed,
+      // empty response means "use the old value"
+      pw = c.p
+    }
+
     if (!pw) {
       return readPassword(c, u, cb)
     }
@@ -85,6 +94,7 @@ function readPassword (c, u, cb) {
       return readPassword(c, u, cb)
     }
 
+    c.changed = c.changed || c.p != pw
     u.p = pw
     cb(er)
   })
index b17da0c..5c2d078 100644 (file)
@@ -84,6 +84,7 @@ var mkdir = require("mkdirp")
   , which = require("which")
   , isGitUrl = require("./utils/is-git-url.js")
   , pathIsInside = require("path-is-inside")
+  , http = require("http")
 
 cache.usage = "npm cache add <tarball file>"
             + "\nnpm cache add <folder>"
@@ -709,6 +710,9 @@ function addNameTag (name, tag, data, cb_) {
   }
 
   registry.get(name, function (er, data, json, response) {
+    if (!er) {
+      er = errorResponse(name, resp)
+    }
     if (er) return cb(er)
     engineFilter(data)
     if (data["dist-tags"] && data["dist-tags"][tag]
@@ -744,6 +748,16 @@ function engineFilter (data) {
   })
 }
 
+function errorResponse (name, response) {
+  if (response.statusCode >= 400) {
+    var er = new Error(http.STATUS_CODES[response.statusCode])
+    er.statusCode = response.statusCode
+    er.code = "E" + er.statusCode
+    er.pkgid = name
+  }
+  return er
+}
+
 function addNameRange (name, range, data, cb) {
   if (typeof cb !== "function") cb = data, data = null
 
@@ -755,6 +769,9 @@ function addNameRange (name, range, data, cb) {
 
   if (data) return next()
   registry.get(name, function (er, d, json, response) {
+    if (!er) {
+      er = errorResponse(name, response)
+    }
     if (er) return cb(er)
     data = d
     next()
@@ -820,6 +837,9 @@ function addNameVersion (name, v, data, cb) {
     return next()
   }
   registry.get(name, function (er, d, json, resp) {
+    if (!er) {
+      er = errorResponse(name, resp)
+    }
     if (er) return cb(er)
     data = d && d.versions[ver]
     if (!data) {
@@ -857,6 +877,10 @@ function addNameVersion (name, v, data, cb) {
           if (er && er.code !== "ENOENT" && er.code !== "ENOTDIR")
             return cb(er)
           if (er) return fetchit()
+          // check the SHA of the package we have, to ensure it wasn't installed
+          // from somewhere other than the registry (eg, a fork)
+          if (data._shasum && dist.shasum && data._shasum !== dist.shasum)
+            return fetchit()
           return cb(null, data)
         })
       } else return fetchit()
index ea3970b..72b4393 100644 (file)
@@ -30,8 +30,11 @@ function help (args, cb) {
   var section = npm.deref(args[0]) || args[0]
 
   // npm help <noargs>:  show basic usage
-  if (!section)
-    return npmUsage(cb)
+  if (!section) {
+    var valid = argv[0] === 'help' ? 0 : 1
+    return npmUsage(valid, cb)
+  }
+
 
   // npm <cmd> -h: show command usage
   if ( npm.config.get("usage")
@@ -147,7 +150,7 @@ function htmlMan (man) {
   return path.resolve(__dirname, "..", "html", "doc", sect, f)
 }
 
-function npmUsage (cb) {
+function npmUsage (valid, cb) {
   npm.config.set("loglevel", "silent")
   log.level = "silent"
   console.log
@@ -170,7 +173,7 @@ function npmUsage (cb) {
       , ""
       , "npm@" + npm.version + " " + path.dirname(__dirname)
       ].join("\n"))
-  cb()
+  cb(valid)
 }
 
 function usages () {
index 8bc0093..3e319fa 100644 (file)
@@ -448,7 +448,7 @@ function prettify (tree, installed) {
                      if (g) g = " (" + g + ")"
                      return c.what + g
                    })
-                 })
+                 }, "", { unicode: npm.config.get("unicode") })
   }).join("\n")
 }
 
index c443b64..a529862 100644 (file)
@@ -288,6 +288,14 @@ function load (npm, cli, cb) {
     npmconf.load(cli, builtin, function (er, config) {
       if (er === config) er = null
 
+      // Include npm-version and node-version in user-agent
+      var ua = config.get("user-agent") || ""
+      ua = ua.replace(/\{node-version\}/gi, process.version)
+      ua = ua.replace(/\{npm-version\}/gi, npm.version)
+      ua = ua.replace(/\{platform\}/gi, process.platform)
+      ua = ua.replace(/\{arch\}/gi, process.arch)
+      config.set("user-agent", ua)
+
       npm.config = config
 
       var color = config.get("color")
index 9777c6a..b025fdd 100644 (file)
@@ -279,7 +279,7 @@ function errorHandler (er) {
 
   var os = require("os")
   // just a line break
-  console.error("")
+  if (log.levels[log.level] <= log.levels.error) console.error("")
   log.error("System", os.type() + " " + os.release())
   log.error("command", process.argv
             .map(JSON.stringify).join(" "))
index d149370..1af5bdd 100644 (file)
@@ -1,5 +1,6 @@
 exports = module.exports = lifecycle
 exports.cmd = cmd
+exports.makeEnv = makeEnv
 
 var log = require("npmlog")
   , spawn = require("child_process").spawn
@@ -314,6 +315,7 @@ function makeEnv (data, prefix, env) {
     var value = npm.config.get(i)
     if (value instanceof Stream || Array.isArray(value)) return
     if (!value) value = ""
+    else if (typeof value === "number") value = "" + value
     else if (typeof value !== "string") value = JSON.stringify(value)
 
     value = -1 !== value.indexOf("\n")
index 6118efe..0f8bef3 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM" "1" "April 2014" "" ""
+.TH "NPM" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm\fR \-\- node package manager![Build Status \fIhttps://img\.shields\.io/travis/npm/npm/master\.svg)](https://travis\-ci\.org/npm/npm\fR
@@ -39,6 +39,18 @@ paths, etc\.) then read on\.
 .SH "Fancy Install (Unix)"
 There\'s a pretty robust install script at \fIhttps://www\.npmjs\.org/install\.sh\fR\|\.  You can download that and run it\.
 .
+.P
+Here\'s an example using curl:
+.
+.IP "" 4
+.
+.nf
+curl \-L https://npmjs\.org/install\.sh | sh
+.
+.fi
+.
+.IP "" 0
+.
 .SS "Slightly Fancier"
 You can set any npm configuration params with that script:
 .
index 32fb4e2..594330a 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-ADDUSER" "1" "April 2014" "" ""
+.TH "NPM\-ADDUSER" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-adduser\fR \-\- Add a registry user account
index 7b84d49..af5468b 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-BIN" "1" "April 2014" "" ""
+.TH "NPM\-BIN" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-bin\fR \-\- Display npm bin folder
index 5d55899..b3a953b 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-BUGS" "1" "April 2014" "" ""
+.TH "NPM\-BUGS" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-bugs\fR \-\- Bugs for a package in a web browser maybe
index 7fa37e8..152caf7 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-BUILD" "1" "April 2014" "" ""
+.TH "NPM\-BUILD" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-build\fR \-\- Build a package
index 6060b3c..5f2f85a 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-BUNDLE" "1" "April 2014" "" ""
+.TH "NPM\-BUNDLE" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-bundle\fR \-\- REMOVED
index cbedf54..0e5b949 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-CACHE" "1" "April 2014" "" ""
+.TH "NPM\-CACHE" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-cache\fR \-\- Manipulates packages cache
index 1a4bc30..6d1ec8d 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-COMPLETION" "1" "April 2014" "" ""
+.TH "NPM\-COMPLETION" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-completion\fR \-\- Tab Completion for npm
index 166acdd..3849072 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-CONFIG" "1" "April 2014" "" ""
+.TH "NPM\-CONFIG" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-config\fR \-\- Manage the npm configuration files
index 6f65a68..e601921 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-DEDUPE" "1" "April 2014" "" ""
+.TH "NPM\-DEDUPE" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-dedupe\fR \-\- Reduce duplication
index d823ee3..e4a19b2 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-DEPRECATE" "1" "April 2014" "" ""
+.TH "NPM\-DEPRECATE" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-deprecate\fR \-\- Deprecate a version of a package
index 5c19cb4..27cbb05 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-DOCS" "1" "April 2014" "" ""
+.TH "NPM\-DOCS" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-docs\fR \-\- Docs for a package in a web browser maybe
index 1dd7061..678c912 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-EDIT" "1" "April 2014" "" ""
+.TH "NPM\-EDIT" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-edit\fR \-\- Edit an installed package
index 2bf1de7..2baac8f 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-EXPLORE" "1" "April 2014" "" ""
+.TH "NPM\-EXPLORE" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-explore\fR \-\- Browse an installed package
index 5450e75..cf723d2 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-HELP\-SEARCH" "1" "April 2014" "" ""
+.TH "NPM\-HELP\-SEARCH" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-help-search\fR \-\- Search npm help documentation
index 5b010bd..9e6c240 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-HELP" "1" "April 2014" "" ""
+.TH "NPM\-HELP" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-help\fR \-\- Get help on npm
index 2a9fb3a..795a8db 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-INIT" "1" "April 2014" "" ""
+.TH "NPM\-INIT" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-init\fR \-\- Interactively create a package\.json file
index 8ffb4e6..d98b55b 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-INSTALL" "1" "April 2014" "" ""
+.TH "NPM\-INSTALL" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-install\fR \-\- Install a package
@@ -39,7 +39,7 @@ b) a gzipped tarball containing (a)
 c) a url that resolves to (b)
 .
 .IP "\(bu" 4
-d) a \fB<name>@<version>\fR that is published on the registry with (c)
+d) a \fB<name>@<version>\fR that is published on the registry (npm help  see \fBnpm\-registry\fR) with (c)
 .
 .IP "\(bu" 4
 e) a \fB<name>@<tag>\fR that points to (d)
@@ -429,9 +429,6 @@ npm help  npmrc
 npm help  registry
 .
 .IP "\(bu" 4
-npm help  folders
-.
-.IP "\(bu" 4
 npm help tag
 .
 .IP "\(bu" 4
index 49a9030..389dd82 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-LINK" "1" "April 2014" "" ""
+.TH "NPM\-LINK" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-link\fR \-\- Symlink a package folder
index 32ae9dd..ddd00f5 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-LS" "1" "April 2014" "" ""
+.TH "NPM\-LS" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-ls\fR \-\- List installed packages
@@ -29,7 +29,7 @@ For example, running \fBnpm ls promzard\fR in npm\'s source tree will show:
 .IP "" 4
 .
 .nf
-npm@1.4.7 /path/to/npm
+npm@1.4.8 /path/to/npm
 â””─┬ init\-package\-json@0\.0\.4
   â””── promzard@0\.1\.5
 .
index 7a9d3af..f0e7ce6 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-OUTDATED" "1" "April 2014" "" ""
+.TH "NPM\-OUTDATED" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-outdated\fR \-\- Check for outdated packages
index f137e43..dbb41b7 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-OWNER" "1" "April 2014" "" ""
+.TH "NPM\-OWNER" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-owner\fR \-\- Manage package owners
index 302617e..c23b617 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-PACK" "1" "April 2014" "" ""
+.TH "NPM\-PACK" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-pack\fR \-\- Create a tarball from a package
index 2354b1c..6684974 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-PREFIX" "1" "April 2014" "" ""
+.TH "NPM\-PREFIX" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-prefix\fR \-\- Display prefix
index 052cad9..710438d 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-PRUNE" "1" "April 2014" "" ""
+.TH "NPM\-PRUNE" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-prune\fR \-\- Remove extraneous packages
index 6fc6743..19271c8 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-PUBLISH" "1" "April 2014" "" ""
+.TH "NPM\-PUBLISH" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-publish\fR \-\- Publish a package
index 4a63d3d..7dda412 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-REBUILD" "1" "April 2014" "" ""
+.TH "NPM\-REBUILD" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-rebuild\fR \-\- Rebuild a package
index 3f9fb32..e79f882 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-REPO" "1" "April 2014" "" ""
+.TH "NPM\-REPO" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-repo\fR \-\- Open package repository page in the browser
index 47a032e..d7ebaf7 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-RESTART" "1" "April 2014" "" ""
+.TH "NPM\-RESTART" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-restart\fR \-\- Start a package
index b8d0109..a416897 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-RM" "1" "April 2014" "" ""
+.TH "NPM\-RM" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-rm\fR \-\- Remove a package
index 1a78a2e..ec6a239 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-ROOT" "1" "April 2014" "" ""
+.TH "NPM\-ROOT" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-root\fR \-\- Display npm root
index f7ec7f0..b81fa80 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-RUN\-SCRIPT" "1" "April 2014" "" ""
+.TH "NPM\-RUN\-SCRIPT" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-run-script\fR \-\- Run arbitrary package scripts
@@ -9,12 +9,14 @@
 .SH "SYNOPSIS"
 .
 .nf
-npm run\-script <script> <name>
+npm run\-script [<pkg>] <command>
 .
 .fi
 .
 .SH "DESCRIPTION"
-This runs an arbitrary command from a package\'s "scripts" object\.
+This runs an arbitrary command from a package\'s \fB"scripts"\fR object\.
+If no package name is provided, it will search for a \fBpackage\.json\fR
+in the current folder and use its \fB"scripts"\fR object\.
 .
 .P
 It is used by the test, start, restart, and stop commands, but can be
index 1424dc2..1680fc3 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-SEARCH" "1" "April 2014" "" ""
+.TH "NPM\-SEARCH" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-search\fR \-\- Search for packages
index a8e60bd..1c646b4 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-SHRINKWRAP" "1" "April 2014" "" ""
+.TH "NPM\-SHRINKWRAP" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-shrinkwrap\fR \-\- Lock down dependency versions
index fb8df2a..caa723e 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-STAR" "1" "April 2014" "" ""
+.TH "NPM\-STAR" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-star\fR \-\- Mark your favorite packages
index 743b351..2daacdf 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-STARS" "1" "April 2014" "" ""
+.TH "NPM\-STARS" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-stars\fR \-\- View packages marked as favorites
index bd44909..d8c525d 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-START" "1" "April 2014" "" ""
+.TH "NPM\-START" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-start\fR \-\- Start a package
index 0e2b536..0f0a28d 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-STOP" "1" "April 2014" "" ""
+.TH "NPM\-STOP" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-stop\fR \-\- Stop a package
index dc32994..f3385e1 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-SUBMODULE" "1" "April 2014" "" ""
+.TH "NPM\-SUBMODULE" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-submodule\fR \-\- Add a package as a git submodule
index d164a1a..d580470 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-TAG" "1" "April 2014" "" ""
+.TH "NPM\-TAG" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-tag\fR \-\- Tag a published version
index ebe5609..85d7d36 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-TEST" "1" "April 2014" "" ""
+.TH "NPM\-TEST" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-test\fR \-\- Test a package
index 0fca48a..3fbee02 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-RM" "1" "April 2014" "" ""
+.TH "NPM\-RM" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-rm\fR \-\- Remove a package
index d6356dc..1d98b1b 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-UNPUBLISH" "1" "April 2014" "" ""
+.TH "NPM\-UNPUBLISH" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-unpublish\fR \-\- Remove a package from the registry
index b97babe..949bae2 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-UPDATE" "1" "April 2014" "" ""
+.TH "NPM\-UPDATE" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-update\fR \-\- Update a package
index e780e3c..d2ae8a0 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-VERSION" "1" "April 2014" "" ""
+.TH "NPM\-VERSION" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-version\fR \-\- Bump a package version
index 8fc4242..8083dda 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-VIEW" "1" "April 2014" "" ""
+.TH "NPM\-VIEW" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-view\fR \-\- View registry info
index 3d6cac7..f3f8270 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-WHOAMI" "1" "April 2014" "" ""
+.TH "NPM\-WHOAMI" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-whoami\fR \-\- Display npm username
index b3a175c..64edebf 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM" "1" "April 2014" "" ""
+.TH "NPM" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm\fR \-\- node package manager
@@ -14,7 +14,7 @@ npm <command> [args]
 .fi
 .
 .SH "VERSION"
-1.4.7
+1.4.8
 .
 .SH "DESCRIPTION"
 npm is the package manager for the Node JavaScript platform\.  It puts
index 531ad58..7a15705 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-BIN" "3" "April 2014" "" ""
+.TH "NPM\-BIN" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-bin\fR \-\- Display npm bin folder
index f104fc6..97b1440 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-BUGS" "3" "April 2014" "" ""
+.TH "NPM\-BUGS" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-bugs\fR \-\- Bugs for a package in a web browser maybe
index 23dca1e..0f3fa86 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-COMMANDS" "3" "April 2014" "" ""
+.TH "NPM\-COMMANDS" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-commands\fR \-\- npm commands
index 07b50a2..818a6e4 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-CONFIG" "3" "April 2014" "" ""
+.TH "NPM\-CONFIG" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-config\fR \-\- Manage the npm configuration files
index cf15729..72dd86c 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-DEPRECATE" "3" "April 2014" "" ""
+.TH "NPM\-DEPRECATE" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-deprecate\fR \-\- Deprecate a version of a package
index 0d2d988..f476f75 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-DOCS" "3" "April 2014" "" ""
+.TH "NPM\-DOCS" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-docs\fR \-\- Docs for a package in a web browser maybe
index 874d2c6..6466761 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-EDIT" "3" "April 2014" "" ""
+.TH "NPM\-EDIT" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-edit\fR \-\- Edit an installed package
index c63638f..61441ab 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-EXPLORE" "3" "April 2014" "" ""
+.TH "NPM\-EXPLORE" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-explore\fR \-\- Browse an installed package
index 1e55605..ef5893b 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-HELP\-SEARCH" "3" "April 2014" "" ""
+.TH "NPM\-HELP\-SEARCH" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-help-search\fR \-\- Search the help pages
index 97ac033..528002a 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "INIT" "3" "April 2014" "" ""
+.TH "INIT" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBinit\fR \-\- Interactively create a package\.json file
index 8fa94ad..90b7089 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-INSTALL" "3" "April 2014" "" ""
+.TH "NPM\-INSTALL" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-install\fR \-\- install a package programmatically
index ab4285a..28d418c 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-LINK" "3" "April 2014" "" ""
+.TH "NPM\-LINK" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-link\fR \-\- Symlink a package folder
index bd1bef6..5de64de 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-LOAD" "3" "April 2014" "" ""
+.TH "NPM\-LOAD" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-load\fR \-\- Load config settings
index c799b19..30d8f0a 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-LS" "3" "April 2014" "" ""
+.TH "NPM\-LS" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-ls\fR \-\- List installed packages
index 67245cb..59c0a24 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-OUTDATED" "3" "April 2014" "" ""
+.TH "NPM\-OUTDATED" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-outdated\fR \-\- Check for outdated packages
index 54b58df..fb7c622 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-OWNER" "3" "April 2014" "" ""
+.TH "NPM\-OWNER" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-owner\fR \-\- Manage package owners
index 584ce20..3ab49a2 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-PACK" "3" "April 2014" "" ""
+.TH "NPM\-PACK" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-pack\fR \-\- Create a tarball from a package
index 1cc865a..7267614 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-PREFIX" "3" "April 2014" "" ""
+.TH "NPM\-PREFIX" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-prefix\fR \-\- Display prefix
index 12e6081..948b4d2 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-PRUNE" "3" "April 2014" "" ""
+.TH "NPM\-PRUNE" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-prune\fR \-\- Remove extraneous packages
index c23abd3..01c2d1b 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-PUBLISH" "3" "April 2014" "" ""
+.TH "NPM\-PUBLISH" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-publish\fR \-\- Publish a package
index 5c1d9e6..86fcca5 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-REBUILD" "3" "April 2014" "" ""
+.TH "NPM\-REBUILD" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-rebuild\fR \-\- Rebuild a package
index a1aad4b..161b213 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-REPO" "3" "April 2014" "" ""
+.TH "NPM\-REPO" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-repo\fR \-\- Open package repository page in the browser
index df8ad2c..d51ee54 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-RESTART" "3" "April 2014" "" ""
+.TH "NPM\-RESTART" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-restart\fR \-\- Start a package
index f04f6c7..a7ae76d 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-ROOT" "3" "April 2014" "" ""
+.TH "NPM\-ROOT" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-root\fR \-\- Display npm root
index 38a1725..24aec93 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-RUN\-SCRIPT" "3" "April 2014" "" ""
+.TH "NPM\-RUN\-SCRIPT" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-run-script\fR \-\- Run arbitrary package scripts
index d134ec3..90b57e1 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-SEARCH" "3" "April 2014" "" ""
+.TH "NPM\-SEARCH" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-search\fR \-\- Search for packages
index b863ece..d82fa00 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-SHRINKWRAP" "3" "April 2014" "" ""
+.TH "NPM\-SHRINKWRAP" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-shrinkwrap\fR \-\- programmatically generate package shrinkwrap file
index fe659a6..cddc683 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-START" "3" "April 2014" "" ""
+.TH "NPM\-START" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-start\fR \-\- Start a package
index f276148..ff52fb9 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-STOP" "3" "April 2014" "" ""
+.TH "NPM\-STOP" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-stop\fR \-\- Stop a package
index 89d4e96..b28915b 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-SUBMODULE" "3" "April 2014" "" ""
+.TH "NPM\-SUBMODULE" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-submodule\fR \-\- Add a package as a git submodule
index 3b047f2..0f56e71 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-TAG" "3" "April 2014" "" ""
+.TH "NPM\-TAG" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-tag\fR \-\- Tag a published version
index 7d57911..826582e 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-TEST" "3" "April 2014" "" ""
+.TH "NPM\-TEST" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-test\fR \-\- Test a package
index 04a1a53..964791a 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-UNINSTALL" "3" "April 2014" "" ""
+.TH "NPM\-UNINSTALL" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-uninstall\fR \-\- uninstall a package programmatically
index 1481f07..00711d4 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-UNPUBLISH" "3" "April 2014" "" ""
+.TH "NPM\-UNPUBLISH" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-unpublish\fR \-\- Remove a package from the registry
index 957185e..fccf96f 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-UPDATE" "3" "April 2014" "" ""
+.TH "NPM\-UPDATE" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-update\fR \-\- Update a package
index 32f4da3..757a2d1 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-VERSION" "3" "April 2014" "" ""
+.TH "NPM\-VERSION" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-version\fR \-\- Bump a package version
index 274af67..d5c9e80 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-VIEW" "3" "April 2014" "" ""
+.TH "NPM\-VIEW" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-view\fR \-\- View registry info
index 8c9900c..c24fae9 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-WHOAMI" "3" "April 2014" "" ""
+.TH "NPM\-WHOAMI" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-whoami\fR \-\- Display npm username
index 80e5ad8..562ae4b 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM" "3" "April 2014" "" ""
+.TH "NPM" "3" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm\fR \-\- node package manager
@@ -10,7 +10,7 @@
 .
 .nf
 var npm = require("npm")
-npm\.load([configObject], function (er, npm) {
+npm\.load([configObject, ]function (er, npm) {
   // use the npm object, now that it\'s loaded\.
   npm\.config\.set(key, val)
   val = npm\.config\.get(key)
@@ -21,7 +21,7 @@ npm\.load([configObject], function (er, npm) {
 .fi
 .
 .SH "VERSION"
-1.4.7
+1.4.8
 .
 .SH "DESCRIPTION"
 This is the API documentation for npm\.
index cc93fde..982b0bc 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-FOLDERS" "5" "April 2014" "" ""
+.TH "NPM\-FOLDERS" "5" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-folders\fR \-\- Folder Structures Used by npm
index cc93fde..982b0bc 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-FOLDERS" "5" "April 2014" "" ""
+.TH "NPM\-FOLDERS" "5" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-folders\fR \-\- Folder Structures Used by npm
index c08044a..8908328 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "PACKAGE\.JSON" "5" "April 2014" "" ""
+.TH "PACKAGE\.JSON" "5" "May 2014" "" ""
 .
 .SH "NAME"
 \fBpackage.json\fR \-\- Specifics of npm\'s package\.json handling
@@ -427,6 +427,9 @@ npm help  See semver for more details about specifying version ranges\.
 npm help  \fB~version\fR "Approximately equivalent to version"  See semver
 .
 .IP "\(bu" 4
+npm help  \fB^version\fR "Compatible with version"  See semver
+.
+.IP "\(bu" 4
 \fB1\.2\.x\fR 1\.2\.0, 1\.2\.1, etc\., but not 1\.3\.0
 .
 .IP "\(bu" 4
index 8ac6b3b..6ee6df6 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPMRC" "5" "April 2014" "" ""
+.TH "NPMRC" "5" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpmrc\fR \-\- The npm config files
index c08044a..8908328 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "PACKAGE\.JSON" "5" "April 2014" "" ""
+.TH "PACKAGE\.JSON" "5" "May 2014" "" ""
 .
 .SH "NAME"
 \fBpackage.json\fR \-\- Specifics of npm\'s package\.json handling
@@ -427,6 +427,9 @@ npm help  See semver for more details about specifying version ranges\.
 npm help  \fB~version\fR "Approximately equivalent to version"  See semver
 .
 .IP "\(bu" 4
+npm help  \fB^version\fR "Compatible with version"  See semver
+.
+.IP "\(bu" 4
 \fB1\.2\.x\fR 1\.2\.0, 1\.2\.1, etc\., but not 1\.3\.0
 .
 .IP "\(bu" 4
index a15a004..5014ba5 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-CODING\-STYLE" "7" "April 2014" "" ""
+.TH "NPM\-CODING\-STYLE" "7" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-coding-style\fR \-\- npm\'s "funny" coding style
index a7069c8..6c96048 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-CONFIG" "7" "April 2014" "" ""
+.TH "NPM\-CONFIG" "7" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-config\fR \-\- More than you probably want to know about npm configuration
index acd9593..1122e23 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-DEVELOPERS" "7" "April 2014" "" ""
+.TH "NPM\-DEVELOPERS" "7" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-developers\fR \-\- Developer Guide
index 1d59103..942d530 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-DISPUTES" "7" "April 2014" "" ""
+.TH "NPM\-DISPUTES" "7" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-disputes\fR \-\- Handling Module Name Disputes
index 9793e51..c84a06d 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-FAQ" "7" "April 2014" "" ""
+.TH "NPM\-FAQ" "7" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-faq\fR \-\- Frequently Asked Questions
index 24abdf9..576a047 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-INDEX" "7" "April 2014" "" ""
+.TH "NPM\-INDEX" "7" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-index\fR \-\- Index of all npm documentation
index 94b915a..a6f4e73 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-REGISTRY" "7" "April 2014" "" ""
+.TH "NPM\-REGISTRY" "7" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-registry\fR \-\- The JavaScript Package Registry
index 8ccf99d..10f8319 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-SCRIPTS" "7" "April 2014" "" ""
+.TH "NPM\-SCRIPTS" "7" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-scripts\fR \-\- How npm handles the "scripts" field
index 947046a..1ae4545 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-REMOVAL" "1" "April 2014" "" ""
+.TH "NPM\-REMOVAL" "1" "May 2014" "" ""
 .
 .SH "NAME"
 \fBnpm-removal\fR \-\- Cleaning the Slate
index 6e2e984..6f7ebf1 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs 0.3.8
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "SEMVER" "7" "April 2014" "" ""
+.TH "SEMVER" "7" "May 2014" "" ""
 .
 .SH "NAME"
 \fBsemver\fR \-\- The semantic versioner for npm
index 8af2c4f..46b0bb5 100644 (file)
@@ -1,9 +1,9 @@
 module.exports = getUrl
 
 function getUrl (r) {
-  if (!r) return
-  if (/^[\w-]+\/[\w-]+$/.test(r))
+  if (!r) return null
+  if (/^[\w-]+\/[\w\.-]+$/.test(r))
     return "git://github.com/" + r
   else
     return null
-}
\ No newline at end of file
+}
index d0e241d..239ba77 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "github-url-from-username-repo",
-  "version": "0.0.2",
+  "version": "0.1.0",
   "description": "Create urls from username/repo",
   "main": "index.js",
   "scripts": {
   ],
   "readme": "[![Build Status](https://travis-ci.org/robertkowalski/github-url-from-username-repo.png?branch=master)](https://travis-ci.org/robertkowalski/github-url-from-username-repo)\n[![Dependency Status](https://gemnasium.com/robertkowalski/github-url-from-username-repo.png)](https://gemnasium.com/robertkowalski/github-url-from-username-repo)\n\n\n# github-url-from-username-repo\n\n## Usage\n\n```javascript\n\nvar getUrl = require(\"github-url-from-username-repo\")\ngetUrl(\"visionmedia/express\") // git://github.com/visionmedia/express\n\n```",
   "readmeFilename": "README.md",
-  "_id": "github-url-from-username-repo@0.0.2",
-  "_from": "github-url-from-username-repo@"
+  "homepage": "https://github.com/robertkowalski/github-url-from-username-repo",
+  "_id": "github-url-from-username-repo@0.1.0",
+  "dist": {
+    "shasum": "fe398af670692e91af7bcfc5ae1d99ff97b1df89"
+  },
+  "_from": "github-url-from-username-repo@0.1.0",
+  "_resolved": "https://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-0.1.0.tgz"
 }
index 782a95c..e8e7b47 100644 (file)
@@ -6,16 +6,29 @@ describe("github url from username/repo", function () {
     var url = getUrl("visionmedia/express")
     assert.equal("git://github.com/visionmedia/express", url)
   })
-  it("works with -", function () {
-    var url = getUrl("vision-media/express-package")
-    assert.equal("git://github.com/vision-media/express-package", url)
-  })
+
   it("returns null if it does not match", function () {
     var url = getUrl("package")
     assert.deepEqual(null, url)
   })
-  it("returns undefined if no repo/user was given", function () {
+
+  it("returns null if no repo/user was given", function () {
     var url = getUrl()
-    assert.deepEqual(undefined, url)
+    assert.deepEqual(null, url)
+  })
+
+  it("works with .", function () {
+    var url = getUrl("component/downloader.js")
+    assert.equal("git://github.com/component/downloader.js", url)
+  })
+
+  it("works with . in the beginning", function () {
+    var url = getUrl("component/.downloader.js")
+    assert.equal("git://github.com/component/.downloader.js", url)
+  })
+
+  it("works with -", function () {
+    var url = getUrl("component/-dow-nloader.j-s")
+    assert.equal("git://github.com/component/-dow-nloader.j-s", url)
   })
-})
\ No newline at end of file
+})
index d61a33d..4390e70 100644 (file)
@@ -28,7 +28,7 @@ function readDeps (test) { return function (cb) {
         try { p = JSON.parse(p) }
         catch (e) { return next() }
         if (!p.version) return next()
-        deps[d] = '^' + p.version
+        deps[d] = config.get('save-prefix') + p.version
         return next()
       })
     })
@@ -178,4 +178,4 @@ if (!package.author) {
 
 exports.license = prompt('license', package.license ||
                          config.get('init.license') ||
-                         'BSD-2-Clause')
+                         'ISC')
index 17ed9a1..1d713bc 100644 (file)
@@ -28,9 +28,7 @@
   },
   "homepage": "https://github.com/isaacs/promzard",
   "_id": "promzard@0.2.1",
-  "dist": {
-    "shasum": "c4c7cbe5182465c13b43540be9daf47098b4e75b"
-  },
+  "_shasum": "c4c7cbe5182465c13b43540be9daf47098b4e75b",
   "_from": "promzard@~0.2.0",
   "_resolved": "https://registry.npmjs.org/promzard/-/promzard-0.2.1.tgz"
 }
index 95099e0..9ca7721 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "init-package-json",
-  "version": "0.0.15",
+  "version": "0.0.16",
   "main": "init-package-json.js",
   "scripts": {
     "test": "tap test/*.js"
     "url": "https://github.com/isaacs/init-package-json/issues"
   },
   "homepage": "https://github.com/isaacs/init-package-json",
-  "_id": "init-package-json@0.0.15",
-  "dist": {
-    "shasum": "d40f0201e4de6aa2b3fdc4208ae162766703ebed"
-  },
-  "_from": "init-package-json@latest",
-  "_resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-0.0.15.tgz"
+  "_id": "init-package-json@0.0.16",
+  "_shasum": "f7bb96fcb0a2c8061d15a2c3180323b17a65aa16",
+  "_from": "init-package-json@latest"
 }
index 0bacba6..9efab7a 100644 (file)
@@ -126,6 +126,11 @@ function validateString (data, k, val) {
 
 function validatePath (data, k, val) {
   if (val === true) return false
+  val = String(val)
+  var homePattern = process.platform === 'win32' ? /^~(\/|\\)/ : /^~\//
+  if (val.match(homePattern) && process.env.HOME) {
+    val = path.resolve(process.env.HOME, val.substr(2))
+  }
   data[k] = path.resolve(String(val))
   return true
 }
index 40036f6..72aba5d 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "nopt",
-  "version": "2.2.0",
+  "version": "2.2.1",
   "description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.",
   "author": {
     "name": "Isaac Z. Schlueter",
@@ -34,6 +34,7 @@
     "url": "https://github.com/isaacs/nopt/issues"
   },
   "homepage": "https://github.com/isaacs/nopt",
-  "_id": "nopt@2.2.0",
+  "_id": "nopt@2.2.1",
+  "_shasum": "2aa09b7d1768487b3b89a9c5aa52335bff0baea7",
   "_from": "nopt@latest"
 }
index 1a67894..b31dccf 100644 (file)
@@ -15,6 +15,14 @@ test("Empty String results in empty string, not true", function (t) {
   t.end()
 })
 
+test("~ path is resolved to $HOME", function (t) {
+  var path = require("path")
+  if (!process.env.HOME) process.env.HOME = "/tmp"
+  var parsed = nopt({key: path}, {}, ["--key=~/val"], 0)
+  t.same(parsed.key, path.resolve(process.env.HOME, "val"))
+  t.end()
+})
+
 test("other tests", function (t) {
 
   var util = require("util")
index 2760a45..f879a94 100644 (file)
@@ -177,9 +177,10 @@ Object.defineProperty(exports, "defaults", {get: function () {
     , proxy : process.env.HTTP_PROXY || process.env.http_proxy || null
     , "https-proxy" : process.env.HTTPS_PROXY || process.env.https_proxy ||
                       process.env.HTTP_PROXY || process.env.http_proxy || null
-    , "user-agent" : "node/" + process.version
-                     + ' ' + process.platform
-                     + ' ' + process.arch
+    , "user-agent" : "npm/{npm-version} "
+                     + "node/{node-version} "
+                     + "{platform} "
+                     + "{arch}"
     , "rebuild-bundle" : true
     , registry : "https://registry.npmjs.org/"
     , rollback : true
index b87c1de..3e3c76e 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "npmconf",
-  "version": "0.1.14",
+  "version": "0.1.15",
   "description": "The config thing npm uses",
   "main": "npmconf.js",
   "directories": {
@@ -45,7 +45,7 @@
     "url": "https://github.com/isaacs/npmconf/issues"
   },
   "homepage": "https://github.com/isaacs/npmconf",
-  "_id": "npmconf@0.1.14",
-  "_shasum": "aea4bc12c5a84191a32cd350e325da4fe8b127e7",
+  "_id": "npmconf@0.1.15",
+  "_shasum": "9df0f0545d04d121330c32a5be9d351b4a8df029",
   "_from": "npmconf@latest"
 }
index 3414c09..2bcc229 100644 (file)
@@ -6,8 +6,6 @@ var url = require("url")
 var typos = require("./typos")
 var coreModuleNames = require("./core_module_names")
 var githubUserRepo = require("github-url-from-username-repo")
-var warningMessages = require('./warning_messages.json')
-var format = require('util').format
 
 var fixer = module.exports = {
   // default warning function
@@ -15,10 +13,10 @@ var fixer = module.exports = {
 
   fixRepositoryField: function(data) {
     if (data.repositories) {
-      this.warn(warningMessages.repositories);
+      this.warn("repositories");
       data.repository = data.repositories[0]
     }
-    if (!data.repository) return this.warn(warningMessages.missingRepository)
+    if (!data.repository) return this.warn("missingRepository")
     if (typeof data.repository === "string") {
       data.repository = {
         type: "git",
@@ -37,14 +35,14 @@ var fixer = module.exports = {
     }
 
     if (r.match(/github.com\/[^\/]+\/[^\/]+\.git\.git$/)) {
-      this.warn(format(warningMessages.brokenGitUrl, r))
+      this.warn("brokenGitUrl", r)
     }
   }
 
 , fixTypos: function(data) {
     Object.keys(typos.topLevel).forEach(function (d) {
       if (data.hasOwnProperty(d)) {
-        this.warn(makeTypoWarning(d, typos.topLevel[d]))
+        this.warn("typo", d, typos.topLevel[d])
       }
     }, this)
   }
@@ -52,15 +50,15 @@ var fixer = module.exports = {
 , fixScriptsField: function(data) {
     if (!data.scripts) return
     if (typeof data.scripts !== "object") {
-      this.warn(warningMessages.nonObjectScripts)
+      this.warn("nonObjectScripts")
       delete data.scripts
     }
     Object.keys(data.scripts).forEach(function (k) {
       if (typeof data.scripts[k] !== "string") {
-        this.warn(warningMessages.nonStringScript)
+        this.warn("nonStringScript")
         delete data.scripts[k]
       } else if (typos.script[k]) {
-        this.warn(makeTypoWarning(k, typos.script[k], "scripts"))
+        this.warn("typo", k, typos.script[k], "scripts")
       }
     }, this)
   }
@@ -68,12 +66,12 @@ var fixer = module.exports = {
 , fixFilesField: function(data) {
     var files = data.files
     if (files && !Array.isArray(files)) {
-      this.warn(warningMessages.nonArrayFiles)
+      this.warn("nonArrayFiles")
       delete data.files
     } else if (data.files) {
       data.files = data.files.filter(function(file) {
         if (!file || typeof file !== "string") {
-          this.warn(format(warningMessages.invalidFilename, file))
+          this.warn("invalidFilename", file)
           return false
         } else {
           return true
@@ -105,12 +103,12 @@ var fixer = module.exports = {
       delete data[bdd]
     }
     if (data[bd] && !Array.isArray(data[bd])) {
-      this.warn(warningMessages.nonArrayBundleDependencies)
+      this.warn("nonArrayBundleDependencies")
       delete data[bd]
     } else if (data[bd]) {
       data[bd] = data[bd].filter(function(bd) {
         if (!bd || typeof bd !== 'string') {
-          this.warn(format(warningMessages.nonStringBundleDependency, bd))
+          this.warn("nonStringBundleDependency", bd)
           return false
         } else {
           return true
@@ -128,14 +126,14 @@ var fixer = module.exports = {
     ;['dependencies','devDependencies'].forEach(function(deps) {
       if (!(deps in data)) return
       if (!data[deps] || typeof data[deps] !== "object") {
-        this.warn(format(warningMessages.nonObjectDependencies, deps))
+        this.warn("nonObjectDependencies", deps)
         delete data[deps]
         return
       }
       Object.keys(data[deps]).forEach(function (d) {
         var r = data[deps][d]
         if (typeof r !== 'string') {
-          this.warn(format(warningMessages.nonStringDependency, d, JSON.stringify(r)))
+          this.warn("nonStringDependency", d, JSON.stringify(r))
           delete data[deps][d]
         }
         // "/" is not allowed as packagename for publishing, but for git-urls
@@ -149,7 +147,7 @@ var fixer = module.exports = {
 
 , fixModulesField: function (data) {
     if (data.modules) {
-      this.warn(warningMessages.deprecatedModules)
+      this.warn("deprecatedModules")
       delete data.modules
     }
   }
@@ -160,11 +158,11 @@ var fixer = module.exports = {
     }
     if (data.keywords && !Array.isArray(data.keywords)) {
       delete data.keywords
-      this.warn(warningMessages.nonArrayKeywords)
+      this.warn("nonArrayKeywords")
     } else if (data.keywords) {
       data.keywords = data.keywords.filter(function(kw) {
         if (typeof kw !== "string" || !kw) {
-          this.warn(warningMessages.nonStringKeyword);
+          this.warn("nonStringKeyword");
           return false
         } else {
           return true
@@ -205,24 +203,24 @@ var fixer = module.exports = {
       data.name = data.name.trim()
     ensureValidName(data.name, strict)
     if (coreModuleNames.indexOf(data.name) !== -1)
-      this.warn(format(warningMessages.conflictingName, data.name))
+      this.warn("conflictingName", data.name)
   }
 
 
 , fixDescriptionField: function (data) {
     if (data.description && typeof data.description !== 'string') {
-      this.warn(warningMessages.nonStringDescription)
+      this.warn("nonStringDescription")
       delete data.description
     }
     if (data.readme && !data.description)
       data.description = extractDescription(data.readme)
       if(data.description === undefined) delete data.description;
-    if (!data.description) this.warn(warningMessages.missingDescription)
+    if (!data.description) this.warn("missingDescription")
   }
 
 , fixReadmeField: function (data) {
     if (!data.readme) {
-      this.warn(warningMessages.missingReadme)
+      this.warn("missingReadme")
       data.readme = "ERROR: No README data found!"
     }
   }
@@ -245,7 +243,7 @@ var fixer = module.exports = {
         else if(url.parse(data.bugs).protocol)
           data.bugs = {url: data.bugs}
         else
-          this.warn(warningMessages.nonEmailUrlBugsString)
+          this.warn("nonEmailUrlBugsString")
       }
       else {
         bugsTypos(data.bugs, this.warn)
@@ -255,18 +253,18 @@ var fixer = module.exports = {
           if(typeof(oldBugs.url) == "string" && url.parse(oldBugs.url).protocol)
             data.bugs.url = oldBugs.url
           else
-            this.warn(warningMessages.nonUrlBugsUrlField)
+            this.warn("nonUrlBugsUrlField")
         }
         if(oldBugs.email) {
           if(typeof(oldBugs.email) == "string" && emailRe.test(oldBugs.email))
             data.bugs.email = oldBugs.email
           else
-            this.warn(warningMessages.nonEmailBugsEmailField)
+            this.warn("nonEmailBugsEmailField")
         }
       }
       if(!data.bugs.email && !data.bugs.url) {
         delete data.bugs
-        this.warn(warningMessages.emptyNormalizedBugs)
+        this.warn("emptyNormalizedBugs")
       }
     }
   }
@@ -282,11 +280,11 @@ var fixer = module.exports = {
       return true
 
     if(typeof data.homepage !== "string") {
-      this.warn(warningMessages.nonUrlHomepage)
+      this.warn("nonUrlHomepage")
       return delete data.homepage
     }
     if(!url.parse(data.homepage).protocol) {
-      this.warn(warningMessages.missingProtocolHomepage)
+      this.warn("missingProtocolHomepage")
       data.homepage = "http://" + data.homepage
     }
   }
@@ -350,7 +348,7 @@ function depObjectify (deps, type, warn) {
     deps = deps.trim().split(/[\n\r\s\t ,]+/)
   }
   if (!Array.isArray(deps)) return deps
-  warn(format(warningMessages.deprecatedArrayDependencies, type))
+  warn("deprecatedArrayDependencies", type)
   var o = {}
   deps.filter(function (d) {
     return typeof d === "string"
@@ -376,17 +374,9 @@ function bugsTypos(bugs, warn) {
   if (!bugs) return
   Object.keys(bugs).forEach(function (k) {
     if (typos.bugs[k]) {
-      warn(makeTypoWarning(k, typos.bugs[k], "bugs"))
+      warn("typo", k, typos.bugs[k], "bugs")
       bugs[typos.bugs[k]] = bugs[k]
       delete bugs[k]
     }
   })
-}
-
-function makeTypoWarning (providedName, probableName, field) {
-  if (field) {
-    providedName = field + "['" + providedName + "']"
-    probableName = field + "['" + probableName + "']"
-  }
-  return format(warningMessages.typo, providedName, probableName)
 }
\ No newline at end of file
diff --git a/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/make_warning.js b/deps/npm/node_modules/read-package-json/node_modules/normalize-package-data/lib/make_warning.js
new file mode 100644 (file)
index 0000000..0f3aad5
--- /dev/null
@@ -0,0 +1,23 @@
+var util = require("util")
+var messages = require("./warning_messages.json")
+
+module.exports = function() {
+  var args = Array.prototype.slice.call(arguments, 0)
+  var warningName = args.shift()
+  if (warningName == "typo") {
+    return makeTypoWarning.apply(null,args)
+  }
+  else {
+    var msgTemplate = messages[warningName] ? messages[warningName] : warningName + ": '%s'"
+    args.unshift(msgTemplate)
+    return util.format.apply(null, args)
+  }
+}
+
+function makeTypoWarning (providedName, probableName, field) {
+  if (field) {
+    providedName = field + "['" + providedName + "']"
+    probableName = field + "['" + probableName + "']"
+  }
+  return util.format(messages.typo, providedName, probableName)
+}
\ No newline at end of file
index a44b024..7e6beef 100644 (file)
@@ -1,6 +1,7 @@
 module.exports = normalize
 
 var fixer = require("./fixer")
+var makeWarning = require("./make_warning")
 
 var fieldsToFix = ['name','version','description','repository','modules','scripts'
                   ,'files','bin','man','bugs','keywords','readme','homepage']
@@ -24,7 +25,7 @@ function normalize (data, warn, strict) {
       !data.scripts.preinstall) {
     data.gypfile = true
   }
-  fixer.warn = warn
+  fixer.warn = function() { warn(makeWarning.apply(null, arguments)) }
   thingsToFix.forEach(function(thingName) {
     fixer["fix" + ucFirst(thingName)](data, strict)
   })
index cee9079..449cfb7 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "normalize-package-data",
-  "version": "0.2.12",
+  "version": "0.2.13",
   "author": {
     "name": "Meryn Stol",
     "email": "merynstol@gmail.com"
@@ -15,9 +15,9 @@
     "test": "tap test/*.js"
   },
   "dependencies": {
-    "semver": "2",
     "github-url-from-git": "~1.1.1",
-    "github-url-from-username-repo": "0.0.2"
+    "github-url-from-username-repo": "^0.1.0",
+    "semver": "2"
   },
   "devDependencies": {
     "tap": "~0.2.5",
@@ -44,6 +44,7 @@
     "url": "https://github.com/meryn/normalize-package-data/issues"
   },
   "homepage": "https://github.com/meryn/normalize-package-data",
-  "_id": "normalize-package-data@0.2.12",
-  "_from": "normalize-package-data@~0.2.9"
+  "_id": "normalize-package-data@0.2.13",
+  "_shasum": "50f9fd9e77b1c8411cd231db2962e73963de774d",
+  "_from": "normalize-package-data@^0.2.13"
 }
index a2eb414..fdfe963 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "read-package-json",
-  "version": "1.1.8",
+  "version": "1.1.9",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me",
@@ -18,7 +18,7 @@
   "dependencies": {
     "glob": "~3.2.1",
     "lru-cache": "2",
-    "normalize-package-data": "~0.2.9",
+    "normalize-package-data": "^0.2.13",
     "graceful-fs": "2"
   },
   "devDependencies": {
@@ -34,6 +34,7 @@
     "url": "https://github.com/isaacs/read-package-json/issues"
   },
   "homepage": "https://github.com/isaacs/read-package-json",
-  "_id": "read-package-json@1.1.8",
+  "_id": "read-package-json@1.1.9",
+  "_shasum": "9c319185e5f8461661c01f8d4e5e80b468aa18ee",
   "_from": "read-package-json@latest"
 }
diff --git a/deps/npm/node_modules/uid-number/LICENCE b/deps/npm/node_modules/uid-number/LICENCE
new file mode 100644 (file)
index 0000000..74489e2
--- /dev/null
@@ -0,0 +1,25 @@
+Copyright (c) Isaac Z. Schlueter
+All rights reserved.
+
+The BSD License
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
index 76b1f02..a11bace 100644 (file)
@@ -1,5 +1,5 @@
 {
-  "version": "1.4.7",
+  "version": "1.4.8",
   "name": "npm",
   "publishConfig": {
     "proprietary-attribs": false
     "fstream": "~0.1.25",
     "fstream-npm": "~0.1.6",
     "github-url-from-git": "1.1.1",
-    "github-url-from-username-repo": "0.0.2",
+    "github-url-from-username-repo": "~0.1.0",
     "glob": "~3.2.9",
     "graceful-fs": "~2.0.2",
     "ini": "~1.1.0",
-    "init-package-json": "0.0.15",
+    "init-package-json": "0.0.16",
     "lockfile": "~0.4.0",
     "lru-cache": "~2.5.0",
     "minimatch": "~0.2.14",
     "mkdirp": "~0.3.5",
     "node-gyp": "~0.13.0",
-    "nopt": "~2.2.0",
+    "nopt": "~2.2.1",
     "npm-install-checks": "~1.0.0",
     "npm-registry-client": "~0.4.7",
     "npm-user-validate": "0.0.3",
-    "npmconf": "~0.1.14",
+    "npmconf": "~0.1.15",
     "npmlog": "0.0.6",
     "once": "~1.3.0",
     "opener": "~1.3.0",
@@ -71,7 +71,7 @@
     "path-is-inside": "~1.0.0",
     "read": "~1.0.4",
     "read-installed": "~2.0.1",
-    "read-package-json": "~1.1.8",
+    "read-package-json": "~1.1.9",
     "request": "~2.30.0",
     "retry": "~0.6.0",
     "rimraf": "~2.2.5",
   "devDependencies": {
     "npm-registry-mock": "~0.6.3",
     "ronn": "~0.3.6",
-    "tap": "~0.4.0"
+    "tap": "~0.4.9"
   },
   "engines": {
     "node": ">=0.8",
index cd8d4fa..0eb5932 100755 (executable)
@@ -63,7 +63,7 @@ case $dest in
     | sed "s|@VERSION@|$version|g" \
     | perl -pi -e 's/<h1>([^\(]*\([0-9]\)) -- (.*?)<\/h1>/<h1>\1<\/h1> <p>\2<\/p>/g' \
     | perl -pi -e 's/npm-npm/npm/g' \
-    | perl -pi -e 's/([^"-])(npm-)?README(\(1\))?/\1<a href="..\/..\/doc\/README.html">README<\/a>/g' \
+    | perl -pi -e 's/([^"-])(npm-)?README(?!\.html)(\(1\))?/\1<a href="..\/..\/doc\/README.html">README<\/a>/g' \
     | perl -pi -e 's/<title><a href="[^"]+README.html">README<\/a><\/title>/<title>README<\/title>/g' \
     | perl -pi -e 's/([^"-])([^\(> ]+)(\(1\))/\1<a href="..\/cli\/\2.html">\2\3<\/a>/g' \
     | perl -pi -e 's/([^"-])([^\(> ]+)(\(3\))/\1<a href="..\/api\/\2.html">\2\3<\/a>/g' \
index a13a0a7..d6d09ed 100644 (file)
@@ -1,2 +1,32 @@
+var spawn = require("child_process").spawn
+
 var port = exports.port = 1337
 exports.registry = "http://localhost:" + port
+process.env.npm_config_loglevel = "error"
+
+var bin = exports.bin = require.resolve("../bin/npm-cli.js")
+var once = require("once")
+exports.npm = function (cmd, opts, cb) {
+  cb = once(cb)
+  cmd = [bin].concat(cmd)
+  opts = opts || {}
+
+  var stdout = ""
+    , stderr = ""
+    , node = process.execPath
+    , child = spawn(node, cmd, opts)
+
+  if (child.stderr) child.stderr.on("data", function (chunk) {
+    stderr += chunk
+  })
+
+  if (child.stdout) child.stdout.on("data", function (chunk) {
+    stdout += chunk
+  })
+
+  child.on("error", cb)
+
+  child.on("close", function (code, signal) {
+    cb(null, code, stdout, stderr)
+  })
+}
diff --git a/deps/npm/test/tap/cache-add-unpublished.js b/deps/npm/test/tap/cache-add-unpublished.js
new file mode 100644 (file)
index 0000000..e313213
--- /dev/null
@@ -0,0 +1,61 @@
+var common = require('../common-tap.js')
+var test = require('tap').test
+
+var server
+
+var port = common.port
+var http = require("http")
+
+var doc = {
+  "_id": "superfoo",
+  "_rev": "5-d11adeec0fdfea6b96b120610d2bed71",
+  "name": "superfoo",
+  "time": {
+    "modified": "2014-02-18T18:35:02.930Z",
+    "created": "2014-02-18T18:34:08.437Z",
+    "1.1.0": "2014-02-18T18:34:08.437Z",
+    "unpublished": {
+      "name": "isaacs",
+      "time": "2014-04-30T18:26:45.584Z",
+      "tags": {
+        "latest": "1.1.0"
+      },
+      "maintainers": [
+        {
+          "name": "foo",
+          "email": "foo@foo.com"
+        }
+      ],
+      "description": "do lots a foo",
+      "versions": [
+        "1.1.0"
+      ]
+    }
+  },
+  "_attachments": {}
+}
+
+test("setup", function (t) {
+  server = http.createServer(function(req, res) {
+    res.end(JSON.stringify(doc))
+  })
+  server.listen(port, function() {
+    t.end()
+  })
+})
+
+test("cache add", function (t) {
+  common.npm(["cache", "add", "superfoo"], {}, function (er, c, so, se) {
+    if (er) throw er
+    t.ok(c)
+    t.equal(so, "")
+    t.similar(se, /404 Not Found: superfoo/)
+    t.end()
+  })
+})
+
+test("cleanup", function (t) {
+  server.close(function() {
+    t.end()
+  })
+})
index d9f72e7..533f464 100644 (file)
@@ -4,10 +4,13 @@ var test = require("tap").test
   , existsSync = fs.existsSync || path.existsSync
   , npm = require("../../")
   , rimraf = require("rimraf")
+  , osenv = require("osenv")
   , mr = require("npm-registry-mock")
   , common = require("../common-tap.js")
   , server
 
+var pkg = path.resolve(__dirname, "circular-dep")
+
 test("installing a package that depends on the current package", function (t) {
   t.plan(1)
 
@@ -16,8 +19,8 @@ test("installing a package that depends on the current package", function (t) {
       if (err) return t.fail(err)
       npm.dedupe(function(err) {
         if (err) return t.fail(err)
-        t.ok(existsSync(path.join(__dirname,
-          "circular-dep", "minimist", "node_modules", "optimist",
+        t.ok(existsSync(path.resolve(pkg,
+          "minimist", "node_modules", "optimist",
           "node_modules", "minimist"
         )))
         cleanup()
@@ -28,22 +31,22 @@ test("installing a package that depends on the current package", function (t) {
 })
 
 function setup (cb) {
-  process.chdir(path.join(__dirname, "circular-dep", "minimist"))
   cleanup()
-  fs.mkdirSync(path.join(__dirname,
-    "circular-dep", "minimist", "node_modules"))
+  process.chdir(path.resolve(pkg, "minimist"))
+
+  fs.mkdirSync(path.resolve(pkg, "minimist/node_modules"))
   mr(common.port, function (s) {
     server = s
     npm.load({
+      loglevel: "silent",
       registry: common.registry,
-      cache: path.resolve(__dirname, "circular-dep", "cache")
+      cache: path.resolve(pkg, "cache")
     }, cb)
   })
 }
 
 function cleanup() {
-  rimraf.sync(path.join(__dirname,
-    "circular-dep", "minimist", "node_modules"))
-  rimraf.sync(path.join(__dirname,
-    "circular-dep", "cache"))
+  process.chdir(osenv.tmpdir())
+  rimraf.sync(path.resolve(pkg, "minimist/node_modules"))
+  rimraf.sync(path.resolve(pkg, "cache"))
 }
index d787c41..63cdd61 100644 (file)
@@ -41,7 +41,6 @@ test("get files", function (t) {
 
 test("get lines", function (t) {
   FILES.forEach(function (f) {
-    console.error(f)
     var lines = fs.readFileSync(f, 'utf8').split('\n')
     lines.forEach(function (l, i) {
       var matches = l.split(/conf(?:ig)?\.get\(/g)
@@ -78,7 +77,6 @@ test("get docs", function (t) {
       DOC[ d[i].replace(/^### /, '').trim() ] = true
   }
   t.pass("read the docs")
-  console.error(DOC)
   t.end()
 })
 
index 314b157..2262213 100644 (file)
@@ -68,7 +68,6 @@ function clone (cb) {
     if (c !== 0)
       return cb(new Error('Failed to init the git repository'))
 
-    console.log('Successfully inited the git repository')
     process.chdir(linkDir)
     performLink(cb)
   })
@@ -80,7 +79,6 @@ function performLink (cb) {
     if (c !== 0)
       return cb(new Error('Failed to link ' + linkDir + ' globally'))
 
-    console.log('Successfully linked ' + linkDir + ' globally')
     performLink2(cb)
   })
 }
@@ -91,7 +89,6 @@ function performLink2 (cb) {
     if (c !== 0)
       return cb(new Error('Failed to link ' + linkDir + ' to local node_modules'))
 
-    console.log('Successfully linked ' + linkDir + ' to local node_modules')
     performInstall(cb)
   })
 }
@@ -102,7 +99,6 @@ function performInstall (cb) {
     if (c !== 0)
       return cb(new Error('Failed to install'))
 
-    console.log('Successfully installed')
     cb()
   })
 }
@@ -111,7 +107,8 @@ function createChild (cwd, cmd, args) {
   var env = {
     HOME: process.env.HOME,
     Path: process.env.PATH,
-    PATH: process.env.PATH
+    PATH: process.env.PATH,
+    npm_config_loglevel: "silent"
   }
 
   if (process.platform === "win32")
@@ -119,7 +116,7 @@ function createChild (cwd, cmd, args) {
 
   return spawn(cmd, args, {
     cwd: cwd,
-    stdio: "inherit",
+    stdio: "pipe",
     env: env
   })
 }
diff --git a/deps/npm/test/tap/install-cli-unicode.js b/deps/npm/test/tap/install-cli-unicode.js
new file mode 100644 (file)
index 0000000..bb9b4f5
--- /dev/null
@@ -0,0 +1,38 @@
+var common = require('../common-tap.js')
+var test = require('tap').test
+var npm = require('../../')
+var mkdirp = require('mkdirp')
+var mr = require('npm-registry-mock')
+var exec = require('child_process').exec
+
+var pkg = __dirname + '/install-cli'
+var NPM_BIN = __dirname + '/../../bin/npm-cli.js'
+
+function hasOnlyAscii (s) {
+  return /^[\000-\177]*$/.test(s) ;
+}
+
+test('does not use unicode with --unicode false', function (t) {
+  t.plan(3)
+  mr(common.port, function (s) {
+    exec('node ' + NPM_BIN + ' install --unicode false read', {
+      cwd: pkg
+    }, function(err, stdout) {
+      t.ifError(err)
+      t.ok(stdout, stdout.length)
+      t.ok(hasOnlyAscii(stdout))
+      s.close()
+    })
+  })
+})
+
+test('cleanup', function (t) {
+  mr(common.port, function (s) {
+    exec('node ' + NPM_BIN + ' uninstall read', {
+      cwd: pkg
+    }, function(err, stdout) {
+      s.close()
+    })
+  })
+  t.end()
+})
diff --git a/deps/npm/test/tap/install-cli/README.md b/deps/npm/test/tap/install-cli/README.md
new file mode 100644 (file)
index 0000000..dbdfb5a
--- /dev/null
@@ -0,0 +1 @@
+# Tests for `npm install` CLI output.
diff --git a/deps/npm/test/tap/install-cli/index.js b/deps/npm/test/tap/install-cli/index.js
new file mode 100644 (file)
index 0000000..33c1891
--- /dev/null
@@ -0,0 +1 @@
+module.exports = true
diff --git a/deps/npm/test/tap/install-cli/package.json b/deps/npm/test/tap/install-cli/package.json
new file mode 100644 (file)
index 0000000..3d7e41d
--- /dev/null
@@ -0,0 +1,10 @@
+{
+  "name": "install-cli",
+  "description": "fixture",
+  "version": "0.0.1",
+  "main": "index.js",
+  "dependencies": {
+    "read": "1.0.5"
+  },
+  "repository": "git://github.com/robertkowalski/bogusfixture"
+}
diff --git a/deps/npm/test/tap/invalid-cmd-exit-code.js b/deps/npm/test/tap/invalid-cmd-exit-code.js
new file mode 100644 (file)
index 0000000..14db866
--- /dev/null
@@ -0,0 +1,29 @@
+var test = require("tap").test
+var node = process.execPath
+var common = require("../common-tap.js")
+
+var opts = { cwd: process.cwd() }
+
+test("npm asdf should return exit code 1", function(t) {
+  common.npm(["asdf"], opts, function (er, c) {
+    if (er) throw er
+    t.ok(c, "exit code should not be zero")
+    t.end()
+  })
+})
+
+test("npm help should return exit code 0", function(t) {
+  common.npm(["help"], opts, function (er, c) {
+    if (er) throw er
+    t.equal(c, 0, "exit code should be 0")
+    t.end()
+  })
+})
+
+test("npm help fadf should return exit code 0", function(t) {
+  common.npm(["help", "fadf"], opts, function (er, c) {
+    if (er) throw er
+    t.equal(c, 0, "exit code should be 0")
+    t.end()
+  })
+})
diff --git a/deps/npm/test/tap/lifecycle.js b/deps/npm/test/tap/lifecycle.js
new file mode 100644 (file)
index 0000000..288329c
--- /dev/null
@@ -0,0 +1,12 @@
+var test = require("tap").test
+var npm = require('../../')
+var lifecycle = require('../../lib/utils/lifecycle')
+
+test("lifecycle: make env correctly", function (t) {
+  npm.load({enteente: Infinity}, function() {
+    var env = lifecycle.makeEnv({}, null, process.env)
+
+    t.equal('Infinity', env.npm_config_enteente)
+    t.end()
+  })
+})
diff --git a/deps/npm/test/tap/ls-depth-cli.js b/deps/npm/test/tap/ls-depth-cli.js
new file mode 100644 (file)
index 0000000..fcbc436
--- /dev/null
@@ -0,0 +1,79 @@
+var common = require('../common-tap')
+  , test = require('tap').test
+  , path = require('path')
+  , rimraf = require('rimraf')
+  , osenv = require('osenv')
+  , mkdirp = require('mkdirp')
+  , pkg = __dirname + '/ls-depth'
+  , cache = pkg + '/cache'
+  , tmp = pkg + '/tmp'
+  , node = process.execPath
+  , npm = path.resolve(__dirname, '../../cli.js')
+  , mr = require('npm-registry-mock')
+  , opts = {cwd: pkg}
+
+
+function cleanup () {
+  process.chdir(osenv.tmpdir())
+  rimraf.sync(pkg + '/cache')
+  rimraf.sync(pkg + '/tmp')
+  rimraf.sync(pkg + '/node_modules')
+}
+
+test('setup', function (t) {
+  cleanup()
+  mkdirp.sync(pkg + '/cache')
+  mkdirp.sync(pkg + '/tmp')
+  mr(common.port, function (s) {
+    var cmd = ['install', '--registry=' + common.registry]
+    common.npm(cmd, opts, function (er, c) {
+      if (er) throw er
+      t.equal(c, 0)
+      s.close()
+      t.end()
+    })
+  })
+})
+
+test('npm ls --depth=0', function (t) {
+  common.npm(['ls', '--depth=0'], opts, function (er, c, out) {
+    if (er) throw er
+    t.equal(c, 0)
+    t.has(out, /test-package-with-one-dep@0\.0\.0/
+      , "output contains test-package-with-one-dep@0.0.0")
+    t.doesNotHave(out, /test-package@0\.0\.0/
+      , "output not contains test-package@0.0.0")
+    t.end()
+  })
+})
+
+test('npm ls --depth=1', function (t) {
+  common.npm(['ls', '--depth=1'], opts, function (er, c, out) {
+    if (er) throw er
+    t.equal(c, 0)
+    t.has(out, /test-package-with-one-dep@0\.0\.0/
+      , "output contains test-package-with-one-dep@0.0.0")
+    t.has(out, /test-package@0\.0\.0/
+      , "output contains test-package@0.0.0")
+    t.end()
+  })
+})
+
+test('npm ls --depth=Infinity', function (t) {
+  // travis has a preconfigured depth=0, in general we can not depend
+  // on the default value in all environments, so explictly set it here
+  common.npm(['ls', '--depth=Infinity'], opts, function (er, c, out) {
+    if (er) throw er
+    t.equal(c, 0)
+    t.has(out, /test-package-with-one-dep@0\.0\.0/
+      , "output contains test-package-with-one-dep@0.0.0")
+    t.has(out, /test-package@0\.0\.0/
+      , "output contains test-package@0.0.0")
+    t.end()
+  })
+})
+
+test('cleanup', function (t) {
+  cleanup()
+  t.end()
+})
diff --git a/deps/npm/test/tap/ls-depth/package.json b/deps/npm/test/tap/ls-depth/package.json
new file mode 100644 (file)
index 0000000..06f8e48
--- /dev/null
@@ -0,0 +1,8 @@
+{
+  "author": "Rocko Artischocko",
+  "name": "ls-depth",
+  "version": "0.0.0",
+  "dependencies": {
+    "test-package-with-one-dep": "0.0.0"
+  }
+}
index 2392c92..c287365 100644 (file)
@@ -1,68 +1,32 @@
 var common = require('../common-tap.js')
 var fs = require("fs")
+var path = require("path")
 var test = require("tap").test
 var rimraf = require("rimraf")
 var npm = require("../../")
-var http = require("http")
 var mr = require("npm-registry-mock")
+var pkg = __dirname + "/peer-deps-invalid"
 
-var okFile = new Buffer(
-'/**package\n' +
-' * { "name": "npm-test-peer-deps-file"\n' +
-' * , "main": "index.js"\n' +
-' * , "version": "1.2.3"\n' +
-' * , "description":"No package.json in sight!"\n' +
-' * , "peerDependencies": { "underscore": "1.3.1" }\n' +
-' * , "dependencies": { "mkdirp": "0.3.5" }\n' +
-' * }\n' +
-' **/\n' +
-'\n' +
-'module.exports = "I\'m just a lonely index, naked as the day I was born."\n'
-)
-
-var failFile = new Buffer(
-'/**package\n' +
-' * { "name": "npm-test-peer-deps-file-invalid"\n' +
-' * , "main": "index.js"\n' +
-' * , "version": "1.2.3"\n' +
-' * , "description":"This one should conflict with the other one"\n' +
-' * , "peerDependencies": { "underscore": "1.3.3" }\n' +
-' * }\n' +
-' **/\n' +
-'\n' +
-'module.exports = "I\'m just a lonely index, naked as the day I was born."\n'
-)
-
-var server
-test("setup", function(t) {
-  server = http.createServer(function (req, res) {
-    res.setHeader('content-type', 'application/javascript')
-    switch (req.url) {
-      case "/ok.js":
-        return res.end(okFile)
-      default:
-        return res.end(failFile)
-    }
-  })
-  server.listen(common.port, function() {
-    t.pass("listening")
-    t.end()
-  })
-})
-
-
+var okFile = fs.readFileSync(path.join(pkg, "file-ok.js"), "utf8")
+var failFile = fs.readFileSync(path.join(pkg, "file-fail.js"), "utf8")
 
 test("installing dependencies that have conflicting peerDependencies", function (t) {
-  rimraf.sync(__dirname + "/peer-deps-invalid/node_modules")
-  process.chdir(__dirname + "/peer-deps-invalid")
-
-  // we're already listening on common.port,
-  // use an alternative port for this test.
-  mr(1331, function (s) { // create mock registry.
-    npm.load({registry: "http://localhost:1331"}, function () {
-      console.error('back from load')
+  rimraf.sync(pkg + "/node_modules")
+  rimraf.sync(pkg + "/cache")
+  process.chdir(pkg)
+
+  var customMocks = {
+    "get": {
+      "/ok.js": [200, okFile],
+      "/invalid.js": [200, failFile]
+    }
+  }
+  mr({port: common.port, mocks: customMocks}, function (s) { // create mock registry.
+    npm.load({
+      cache: pkg + "/cache",
+      registry: common.registry
+    }, function () {
       npm.commands.install([], function (err) {
-        console.error('back from install')
         if (!err) {
           t.fail("No error!")
         } else {
@@ -75,9 +39,8 @@ test("installing dependencies that have conflicting peerDependencies", function
   })
 })
 
-test("shutdown", function(t) {
-  server.close(function() {
-    t.pass("closed")
-    t.end()
-  })
+test("cleanup", function (t) {
+  rimraf.sync(pkg + "/node_modules")
+  rimraf.sync(pkg + "/cache")
+  t.end()
 })
diff --git a/deps/npm/test/tap/peer-deps-invalid/file-fail.js b/deps/npm/test/tap/peer-deps-invalid/file-fail.js
new file mode 100644 (file)
index 0000000..5a78d0f
--- /dev/null
@@ -0,0 +1,10 @@
+/**package
+* { "name": "npm-test-peer-deps-file-invalid"
+* , "main": "index.js"
+* , "version": "1.2.3"
+* , "description":"This one should conflict with the other one"
+* , "peerDependencies": { "underscore": "1.3.3" }
+* }
+**/
+
+module.exports = "I\'m just a lonely index, naked as the day I was born."
diff --git a/deps/npm/test/tap/peer-deps-invalid/file-ok.js b/deps/npm/test/tap/peer-deps-invalid/file-ok.js
new file mode 100644 (file)
index 0000000..957e20e
--- /dev/null
@@ -0,0 +1,11 @@
+/**package
+* { "name": "npm-test-peer-deps-file"
+* , "main": "index.js"
+* , "version": "1.2.3"
+* , "description":"No package.json in sight!"
+* , "peerDependencies": { "underscore": "1.3.1" }
+* , "dependencies": { "mkdirp": "0.3.5" }
+* }
+**/
+
+module.exports = "I\'m just a lonely index, naked as the day I was born."
index ce7c5e8..ce01be4 100644 (file)
@@ -1,53 +1,37 @@
 var common = require('../common-tap.js')
 var fs = require("fs")
+var path = require("path")
 var test = require("tap").test
 var rimraf = require("rimraf")
 var npm = require("../../")
 var mr = require("npm-registry-mock")
-var http = require("http")
-
-
-var js = new Buffer(
-'/**package\n' +
-' * { "name": "npm-test-peer-deps-file"\n' +
-' * , "main": "index.js"\n' +
-' * , "version": "1.2.3"\n' +
-' * , "description":"No package.json in sight!"\n' +
-' * , "peerDependencies": { "underscore": "1.3.1" }\n' +
-' * , "dependencies": { "mkdirp": "0.3.5" }\n' +
-' * }\n' +
-' **/\n' +
-'\n' +
-'module.exports = "I\'m just a lonely index, naked as the day I was born."\n')
-
-var server
-test("setup", function(t) {
-  server = http.createServer(function (q, s) {
-    s.setHeader('content-type', 'application/javascript')
-    s.end(js)
-  })
-  server.listen(common.port, function () {
-    t.pass('listening')
-    t.end()
-  })
-})
+var pkg = __dirname + "/peer-deps-without-package-json"
 
+var js = fs.readFileSync(path.join(pkg, "file-js.js"), "utf8")
 test("installing a peerDependencies-using package without a package.json present (GH-3049)", function (t) {
 
-  rimraf.sync(__dirname + "/peer-deps-without-package-json/node_modules")
-  fs.mkdirSync(__dirname + "/peer-deps-without-package-json/node_modules")
-  process.chdir(__dirname + "/peer-deps-without-package-json")
+  rimraf.sync(pkg + "/node_modules")
+  rimraf.sync(pkg + "/cache")
 
-  // we're already listening on common.port,
-  // use an alternative port for this test.
-  mr(1331, function (s) { // create mock registry.
-    npm.load({registry: 'http://localhost:1331'}, function () {
-      npm.install(common.registry, function (err) {
+  fs.mkdirSync(pkg + "/node_modules")
+  process.chdir(pkg)
+
+  var customMocks = {
+    "get": {
+      "/ok.js": [200, js],
+    }
+  }
+  mr({port: common.port, mocks: customMocks}, function (s) { // create mock registry.
+    npm.load({
+      registry: common.registry,
+      cache: pkg + "/cache"
+    }, function () {
+      npm.install(common.registry + "/ok.js", function (err) {
         if (err) {
           t.fail(err)
         } else {
-          t.ok(fs.existsSync(__dirname + "/peer-deps-without-package-json/node_modules/npm-test-peer-deps-file"))
-          t.ok(fs.existsSync(__dirname + "/peer-deps-without-package-json/node_modules/underscore"))
+          t.ok(fs.existsSync(pkg + "/node_modules/npm-test-peer-deps-file"))
+          t.ok(fs.existsSync(pkg + "/node_modules/underscore"))
         }
         t.end()
         s.close() // shutdown mock registry.
@@ -57,8 +41,7 @@ test("installing a peerDependencies-using package without a package.json present
 })
 
 test("cleanup", function (t) {
-  server.close(function() {
-    t.pass("closed")
-    t.end()
-  })
+  rimraf.sync(pkg + "/node_modules")
+  rimraf.sync(pkg + "/cache")
+  t.end()
 })
diff --git a/deps/npm/test/tap/peer-deps-without-package-json/file-js.js b/deps/npm/test/tap/peer-deps-without-package-json/file-js.js
new file mode 100644 (file)
index 0000000..957e20e
--- /dev/null
@@ -0,0 +1,11 @@
+/**package
+* { "name": "npm-test-peer-deps-file"
+* , "main": "index.js"
+* , "version": "1.2.3"
+* , "description":"No package.json in sight!"
+* , "peerDependencies": { "underscore": "1.3.1" }
+* , "dependencies": { "mkdirp": "0.3.5" }
+* }
+**/
+
+module.exports = "I\'m just a lonely index, naked as the day I was born."
index d5a0026..4ac8fd0 100644 (file)
@@ -9,41 +9,19 @@ var common = require('../common-tap')
   , tmp = pkg + '/tmp'
   , node = process.execPath
   , npm = path.resolve(__dirname, '../../cli.js')
+  , opts = { cwd: pkg }
 
-function run (command, t, parse) {
-  var c = ''
-    , e = ''
-    , node = process.execPath
-    , child = spawn(node, [npm, command], {
-      cwd: pkg
-    })
-
-    child.stderr.on('data', function (chunk) {
-      e += chunk
-    })
+function testOutput (t, command, er, code, stdout, stderr) {
+  if (er)
+    throw er
 
-    child.stdout.on('data', function (chunk) {
-      c += chunk
-    })
-
-    child.stdout.on('end', function () {
-      if (e) {
-        throw new Error('npm ' + command + ' stderr: ' + e.toString())
-      }
-      if (parse) {
-        // custom parsing function
-        c = parse(c)
-        t.equal(c.actual, c.expected)
-        t.end()
-        return
-      }
-
-      c = c.trim().split('\n')
-      c = c[c.length - 1]
-      t.equal(c, command)
-      t.end()
-    })
+  if (stderr)
+    throw new Error('npm ' + command + ' stderr: ' + stderr.toString())
 
+  stdout = stdout.trim().split('\n')
+  stdout = stdout[stdout.length - 1]
+  t.equal(stdout, command)
+  t.end()
 }
 
 function cleanup () {
@@ -56,23 +34,27 @@ test('setup', function (t) {
   mkdirp.sync(pkg + '/cache')
   mkdirp.sync(pkg + '/tmp')
   t.end()
-
 })
 
 test('npm start', function (t) {
-  run('start', t)
+  common.npm(['start'], opts, testOutput.bind(null, t, "start"))
 })
 
 test('npm stop', function (t) {
-  run('stop', t)
+  common.npm(['stop'], opts, testOutput.bind(null, t, "stop"))
 })
 
 test('npm restart', function (t) {
-  run ('restart', t, function (output) {
-    output = output.split('\n').filter(function (val) {
+  common.npm(['restart'], opts, function (er, c, stdout, stderr) {
+    if (er)
+      throw er
+
+    var output = stdout.split('\n').filter(function (val) {
       return val.match(/^s/)
     })
-    return {actual: output, expected: output}
+
+    t.same(output.sort(), ['start', 'stop'].sort())
+    t.end()
   })
 })
 
diff --git a/deps/npm/wercker.yml b/deps/npm/wercker.yml
new file mode 100644 (file)
index 0000000..f944a95
--- /dev/null
@@ -0,0 +1,22 @@
+box: wercker/nodejs
+# Build definition
+build:
+  # The steps that will be executed on build
+  steps:
+    # A step that executes `npm install` command
+    - npm-install
+    # A step that executes `npm test` command
+    - npm-test
+
+    # A custom script step, name value is used in the UI
+    # and the code value contains the command that get executed
+    - script:
+        name: echo nodejs information
+        code: |
+          echo "node version $(node -v) running"
+          echo "npm version $(npm -v) running"
+  after-steps:
+    - sherzberg/slack-notify:
+        subdomain: npm-inc
+        token: $SLACK_TOKEN
+        channel: github-commits