npm: Upgrade to 1.2.21
authorisaacs <i@izs.me>
Mon, 13 May 2013 21:24:36 +0000 (14:24 -0700)
committerisaacs <i@izs.me>
Mon, 13 May 2013 21:24:36 +0000 (14:24 -0700)
110 files changed:
deps/npm/doc/cli/link.md
deps/npm/doc/cli/shrinkwrap.md
deps/npm/html/api/bin.html
deps/npm/html/api/bugs.html
deps/npm/html/api/commands.html
deps/npm/html/api/config.html
deps/npm/html/api/deprecate.html
deps/npm/html/api/docs.html
deps/npm/html/api/edit.html
deps/npm/html/api/explore.html
deps/npm/html/api/help-search.html
deps/npm/html/api/init.html
deps/npm/html/api/install.html
deps/npm/html/api/link.html
deps/npm/html/api/load.html
deps/npm/html/api/ls.html
deps/npm/html/api/npm.html
deps/npm/html/api/outdated.html
deps/npm/html/api/owner.html
deps/npm/html/api/pack.html
deps/npm/html/api/prefix.html
deps/npm/html/api/prune.html
deps/npm/html/api/publish.html
deps/npm/html/api/rebuild.html
deps/npm/html/api/restart.html
deps/npm/html/api/root.html
deps/npm/html/api/run-script.html
deps/npm/html/api/search.html
deps/npm/html/api/shrinkwrap.html
deps/npm/html/api/start.html
deps/npm/html/api/stop.html
deps/npm/html/api/submodule.html
deps/npm/html/api/tag.html
deps/npm/html/api/test.html
deps/npm/html/api/uninstall.html
deps/npm/html/api/unpublish.html
deps/npm/html/api/update.html
deps/npm/html/api/version.html
deps/npm/html/api/view.html
deps/npm/html/api/whoami.html
deps/npm/html/doc/README.html
deps/npm/html/doc/adduser.html
deps/npm/html/doc/bin.html
deps/npm/html/doc/bugs.html
deps/npm/html/doc/build.html
deps/npm/html/doc/bundle.html
deps/npm/html/doc/cache.html
deps/npm/html/doc/changelog.html
deps/npm/html/doc/coding-style.html
deps/npm/html/doc/completion.html
deps/npm/html/doc/config.html
deps/npm/html/doc/dedupe.html
deps/npm/html/doc/deprecate.html
deps/npm/html/doc/developers.html
deps/npm/html/doc/disputes.html
deps/npm/html/doc/docs.html
deps/npm/html/doc/edit.html
deps/npm/html/doc/explore.html
deps/npm/html/doc/faq.html
deps/npm/html/doc/folders.html
deps/npm/html/doc/global.html
deps/npm/html/doc/help-search.html
deps/npm/html/doc/help.html
deps/npm/html/doc/index.html
deps/npm/html/doc/init.html
deps/npm/html/doc/install.html
deps/npm/html/doc/json.html
deps/npm/html/doc/link.html
deps/npm/html/doc/ls.html
deps/npm/html/doc/npm.html
deps/npm/html/doc/outdated.html
deps/npm/html/doc/owner.html
deps/npm/html/doc/pack.html
deps/npm/html/doc/prefix.html
deps/npm/html/doc/prune.html
deps/npm/html/doc/publish.html
deps/npm/html/doc/rebuild.html
deps/npm/html/doc/registry.html
deps/npm/html/doc/removing-npm.html
deps/npm/html/doc/restart.html
deps/npm/html/doc/rm.html
deps/npm/html/doc/root.html
deps/npm/html/doc/run-script.html
deps/npm/html/doc/scripts.html
deps/npm/html/doc/search.html
deps/npm/html/doc/semver.html
deps/npm/html/doc/shrinkwrap.html
deps/npm/html/doc/star.html
deps/npm/html/doc/stars.html
deps/npm/html/doc/start.html
deps/npm/html/doc/stop.html
deps/npm/html/doc/submodule.html
deps/npm/html/doc/tag.html
deps/npm/html/doc/test.html
deps/npm/html/doc/uninstall.html
deps/npm/html/doc/unpublish.html
deps/npm/html/doc/update.html
deps/npm/html/doc/version.html
deps/npm/html/doc/view.html
deps/npm/html/doc/whoami.html
deps/npm/lib/explore.js
deps/npm/lib/install.js
deps/npm/lib/npm.js
deps/npm/lib/unbuild.js
deps/npm/man/man1/link.1
deps/npm/man/man1/ls.1
deps/npm/man/man1/npm.1
deps/npm/man/man1/shrinkwrap.1
deps/npm/man/man3/npm.3
deps/npm/package.json

index dd54792..4e4ef79 100644 (file)
@@ -16,6 +16,9 @@ symbolic link from `prefix/package-name` to the current folder.
 Next, in some other location, `npm link package-name` will create a
 symlink from the local `node_modules` folder to the global symlink.
 
+Note that `package-name` is taken from `package.json` ,
+not from directory name.
+
 When creating tarballs for `npm publish`, the linked packages are
 "snapshotted" to their current state by resolving the symbolic links.
 
index 3b60b13..9af16f7 100644 (file)
@@ -9,7 +9,8 @@ npm-shrinkwrap(1) -- Lock down dependency versions
 
 This command locks down the versions of a package's dependencies so that you can
 control exactly which versions of each dependency will be used when your package
-is installed.
+is installed. The "package.json" file is still required if you want to use "npm
+install".
 
 By default, "npm install" recursively installs the target's dependencies (as
 specified in package.json), choosing the latest available version that satisfies
index 0688dc5..88cbedc 100644 (file)
@@ -19,7 +19,7 @@
 <p>This function should not be used programmatically.  Instead, just refer
 to the <code>npm.bin</code> member.</p>
 </div>
-<p id="footer">bin &mdash; npm@1.2.20</p>
+<p id="footer">bin &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index d66ab97..216e412 100644 (file)
@@ -25,7 +25,7 @@ optional version number.</p>
 <p>This command will launch a browser, so this command may not be the most
 friendly for programmatic use.</p>
 </div>
-<p id="footer">bugs &mdash; npm@1.2.20</p>
+<p id="footer">bugs &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index cbc9da3..4edf8ba 100644 (file)
@@ -28,7 +28,7 @@ usage, or <code>man 3 npm-&lt;command&gt;</code> for programmatic usage.</p>
 
 <ul><li><a href="../doc/index.html">index(1)</a></li></ul>
 </div>
-<p id="footer">commands &mdash; npm@1.2.20</p>
+<p id="footer">commands &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 8679893..ef0bc92 100644 (file)
@@ -33,7 +33,7 @@ functions instead.</p>
 
 <ul><li><a href="../api/npm.html">npm(3)</a></li></ul>
 </div>
-<p id="footer">config &mdash; npm@1.2.20</p>
+<p id="footer">config &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index c0042dc..ced8759 100644 (file)
@@ -32,7 +32,7 @@ install the package.</p></li></ul>
 
 <ul><li><a href="../api/publish.html">publish(3)</a></li><li><a href="../api/unpublish.html">unpublish(3)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
 </div>
-<p id="footer">deprecate &mdash; npm@1.2.20</p>
+<p id="footer">deprecate &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index b070205..9afa264 100644 (file)
@@ -25,7 +25,7 @@ optional version number.</p>
 <p>This command will launch a browser, so this command may not be the most
 friendly for programmatic use.</p>
 </div>
-<p id="footer">docs &mdash; npm@1.2.20</p>
+<p id="footer">docs &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 18b0fa0..c6041bd 100644 (file)
@@ -30,7 +30,7 @@ to open. The package can optionally have a version number attached.</p>
 <p>Since this command opens an editor in a new process, be careful about where
 and how this is used.</p>
 </div>
-<p id="footer">edit &mdash; npm@1.2.20</p>
+<p id="footer">edit &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index abb59d2..129e3fa 100644 (file)
@@ -24,7 +24,7 @@ sure to use <code>npm rebuild &lt;pkg&gt;</code> if you make any changes.</p>
 
 <p>The first element in the &#39;args&#39; parameter must be a package name.  After that is the optional command, which can be any number of strings. All of the strings will be combined into one, space-delimited command.</p>
 </div>
-<p id="footer">explore &mdash; npm@1.2.20</p>
+<p id="footer">explore &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 18af318..ae524a1 100644 (file)
@@ -32,7 +32,7 @@ Name of the file that matched</li></ul>
 
 <p>The silent parameter is not neccessary not used, but it may in the future.</p>
 </div>
-<p id="footer">help-search &mdash; npm@1.2.20</p>
+<p id="footer">help-search &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 8010737..9446c79 100644 (file)
@@ -35,7 +35,7 @@ then go ahead and use this programmatically.</p>
 
 <p><a href="../doc/json.html">json(1)</a></p>
 </div>
-<p id="footer">init &mdash; npm@1.2.20</p>
+<p id="footer">init &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 1b4279b..b7e9e4b 100644 (file)
@@ -25,7 +25,7 @@ the name of a package to be installed.</p>
 <p>Finally, &#39;callback&#39; is a function that will be called when all packages have been
 installed or when an error has been encountered.</p>
 </div>
-<p id="footer">install &mdash; npm@1.2.20</p>
+<p id="footer">install &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index a22fddf..f75bd6b 100644 (file)
@@ -39,7 +39,7 @@ npm.commands.link(&#39;redis&#39;, cb)  # link-install the package</code></pre>
 <p>Now, any changes to the redis package will be reflected in
 the package in the current working directory</p>
 </div>
-<p id="footer">link &mdash; npm@1.2.20</p>
+<p id="footer">link &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index affa8ae..55973a9 100644 (file)
@@ -32,7 +32,7 @@ config object.</p>
 
 <p>For a list of all the available command-line configs, see <code>npm help config</code></p>
 </div>
-<p id="footer">load &mdash; npm@1.2.20</p>
+<p id="footer">load &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index fe91686..9aa4ccc 100644 (file)
@@ -59,7 +59,7 @@ project.</p>
 This means that if a submodule a same dependency as a parent module, then the
 dependency will only be output once.</p>
 </div>
-<p id="footer">ls &mdash; npm@1.2.20</p>
+<p id="footer">ls &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 5bb53bb..d4a148c 100644 (file)
@@ -24,7 +24,7 @@ npm.load([configObject,] function (er, npm) {
 
 <h2 id="VERSION">VERSION</h2>
 
-<p>1.2.20</p>
+<p>1.2.21</p>
 
 <h2 id="DESCRIPTION">DESCRIPTION</h2>
 
@@ -92,7 +92,7 @@ method names.  Use the <code>npm.deref</code> method to find the real name.</p>
 
 <pre><code>var cmd = npm.deref(&quot;unp&quot;) // cmd === &quot;unpublish&quot;</code></pre>
 </div>
-<p id="footer">npm &mdash; npm@1.2.20</p>
+<p id="footer">npm &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index cdc9c22..ee4a784 100644 (file)
@@ -19,7 +19,7 @@ currently outdated.</p>
 
 <p>If the &#39;packages&#39; parameter is left out, npm will check all packages.</p>
 </div>
-<p id="footer">outdated &mdash; npm@1.2.20</p>
+<p id="footer">outdated &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 25a6c3d..979cba4 100644 (file)
@@ -34,7 +34,7 @@ that is not implemented at this time.</p>
 
 <ul><li><a href="../api/publish.html">publish(3)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
 </div>
-<p id="footer">owner &mdash; npm@1.2.20</p>
+<p id="footer">owner &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 4093c26..1f546b1 100644 (file)
@@ -25,7 +25,7 @@ overwritten the second time.</p>
 
 <p>If no arguments are supplied, then npm packs the current package folder.</p>
 </div>
-<p id="footer">pack &mdash; npm@1.2.20</p>
+<p id="footer">pack &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 912a178..c28e226 100644 (file)
@@ -21,7 +21,7 @@
 
 <p>This function is not useful programmatically</p>
 </div>
-<p id="footer">prefix &mdash; npm@1.2.20</p>
+<p id="footer">prefix &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index fc9e77d..3dc3f87 100644 (file)
@@ -23,7 +23,7 @@
 <p>Extraneous packages are packages that are not listed on the parent
 package&#39;s dependencies list.</p>
 </div>
-<p id="footer">prune &mdash; npm@1.2.20</p>
+<p id="footer">prune &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 6be2389..cfe90f3 100644 (file)
@@ -32,7 +32,7 @@ the registry.  Overwrites when the &quot;force&quot; environment variable is set
 
 <ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../api/owner.html">owner(3)</a></li></ul>
 </div>
-<p id="footer">publish &mdash; npm@1.2.20</p>
+<p id="footer">publish &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index b859080..1766d07 100644 (file)
@@ -22,7 +22,7 @@ the new binary. If no &#39;packages&#39; parameter is specify, every package wil
 
 <p>See <code>npm help build</code></p>
 </div>
-<p id="footer">rebuild &mdash; npm@1.2.20</p>
+<p id="footer">rebuild &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index b6e74a2..e204a99 100644 (file)
@@ -27,7 +27,7 @@ in the <code>packages</code> parameter.</p>
 
 <ul><li><a href="../api/start.html">start(3)</a></li><li><a href="../api/stop.html">stop(3)</a></li></ul>
 </div>
-<p id="footer">restart &mdash; npm@1.2.20</p>
+<p id="footer">restart &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index f594d95..d7f9ffc 100644 (file)
@@ -21,7 +21,7 @@
 
 <p>This function is not useful programmatically.</p>
 </div>
-<p id="footer">root &mdash; npm@1.2.20</p>
+<p id="footer">root &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index e240e25..6cf0863 100644 (file)
@@ -29,7 +29,7 @@ assumed to be the command to run. All other elements are ignored.</p>
 
 <ul><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../api/test.html">test(3)</a></li><li><a href="../api/start.html">start(3)</a></li><li><a href="../api/restart.html">restart(3)</a></li><li><a href="../api/stop.html">stop(3)</a></li></ul>
 </div>
-<p id="footer">run-script &mdash; npm@1.2.20</p>
+<p id="footer">run-script &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index ab40507..ede10c4 100644 (file)
@@ -32,7 +32,7 @@ excluded term (the &quot;searchexclude&quot; config). The search is case insensi
 and doesn&#39;t try to read your mind (it doesn&#39;t do any verb tense matching or the
 like).</p>
 </div>
-<p id="footer">search &mdash; npm@1.2.20</p>
+<p id="footer">search &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 2cff429..81d235d 100644 (file)
@@ -26,7 +26,7 @@ but the shrinkwrap file will still be written.</p>
 <p>Finally, &#39;callback&#39; is a function that will be called when the shrinkwrap has
 been saved.</p>
 </div>
-<p id="footer">shrinkwrap &mdash; npm@1.2.20</p>
+<p id="footer">shrinkwrap &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 02f9b9e..344c2a2 100644 (file)
@@ -19,7 +19,7 @@
 <p>npm can run tests on multiple packages. Just specify multiple packages
 in the <code>packages</code> parameter.</p>
 </div>
-<p id="footer">start &mdash; npm@1.2.20</p>
+<p id="footer">start &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 407ae05..016811a 100644 (file)
@@ -19,7 +19,7 @@
 <p>npm can run stop on multiple packages. Just specify multiple packages
 in the <code>packages</code> parameter.</p>
 </div>
-<p id="footer">stop &mdash; npm@1.2.20</p>
+<p id="footer">stop &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 3a5a664..41a5c35 100644 (file)
@@ -33,7 +33,7 @@ dependencies into the submodule folder.</p>
 
 <ul><li>npm help json</li><li>git help submodule</li></ul>
 </div>
-<p id="footer">submodule &mdash; npm@1.2.20</p>
+<p id="footer">submodule &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 17aa7b9..db0ee36 100644 (file)
@@ -29,7 +29,7 @@ parameter is missing or falsey (empty), the default froom the config will be
 used. For more information about how to set this config, check
 <code>man 3 npm-config</code> for programmatic usage or <code>man npm-config</code> for cli usage.</p>
 </div>
-<p id="footer">tag &mdash; npm@1.2.20</p>
+<p id="footer">tag &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index aecd621..fbd3fc7 100644 (file)
@@ -22,7 +22,7 @@ true.</p>
 <p>npm can run tests on multiple packages. Just specify multiple packages
 in the <code>packages</code> parameter.</p>
 </div>
-<p id="footer">test &mdash; npm@1.2.20</p>
+<p id="footer">test &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 566ab0e..44d98cb 100644 (file)
@@ -22,7 +22,7 @@ the name of a package to be uninstalled.</p>
 <p>Finally, &#39;callback&#39; is a function that will be called when all packages have been
 uninstalled or when an error has been encountered.</p>
 </div>
-<p id="footer">uninstall &mdash; npm@1.2.20</p>
+<p id="footer">uninstall &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index bf1a730..a517531 100644 (file)
@@ -26,7 +26,7 @@ is what is meant.</p>
 <p>If no version is specified, or if all versions are removed then
 the root package entry is removed from the registry entirely.</p>
 </div>
-<p id="footer">unpublish &mdash; npm@1.2.20</p>
+<p id="footer">unpublish &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 723df16..05cc973 100644 (file)
@@ -18,7 +18,7 @@
 
 <p>The &#39;packages&#39; argument is an array of packages to update. The &#39;callback&#39; parameter will be called when done or when an error occurs.</p>
 </div>
-<p id="footer">update &mdash; npm@1.2.20</p>
+<p id="footer">update &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 9bad3f0..a38be57 100644 (file)
@@ -24,7 +24,7 @@ fail if the repo is not clean.</p>
 parameter. The difference, however, is this function will fail if it does
 not have exactly one element. The only element should be a version number.</p>
 </div>
-<p id="footer">version &mdash; npm@1.2.20</p>
+<p id="footer">version &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 0ad3e44..e40daef 100644 (file)
@@ -99,7 +99,7 @@ the field name.</p>
 
 <p>corresponding to the list of fields selected.</p>
 </div>
-<p id="footer">view &mdash; npm@1.2.20</p>
+<p id="footer">view &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index b972d3e..a9be42e 100644 (file)
@@ -21,7 +21,7 @@
 
 <p>This function is not useful programmatically</p>
 </div>
-<p id="footer">whoami &mdash; npm@1.2.20</p>
+<p id="footer">whoami &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 98041d6..462ef27 100644 (file)
@@ -240,7 +240,7 @@ will no doubt tell you to put the output in a gist or email.</p>
 
 <ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/help.html">help(1)</a></li><li><a href="../doc/index.html">index(1)</a></li></ul>
 </div>
-<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@1.2.20</p>
+<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 14dcc63..4397348 100644 (file)
@@ -39,7 +39,7 @@ authorize on a new machine.</p>
 
 <ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/owner.html">owner(1)</a></li><li><a href="../doc/whoami.html">whoami(1)</a></li></ul>
 </div>
-<p id="footer">adduser &mdash; npm@1.2.20</p>
+<p id="footer">adduser &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 535228a..8fb6862 100644 (file)
@@ -20,7 +20,7 @@
 
 <ul><li><a href="../doc/prefix.html">prefix(1)</a></li><li><a href="../doc/root.html">root(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
 </div>
-<p id="footer">bin &mdash; npm@1.2.20</p>
+<p id="footer">bin &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index da050e6..0b5800b 100644 (file)
@@ -36,7 +36,7 @@ config param.</p>
 
 <ul><li><a href="../doc/docs.html">docs(1)</a></li><li><a href="../doc/view.html">view(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/json.html">json(1)</a></li></ul>
 </div>
-<p id="footer">bugs &mdash; npm@1.2.20</p>
+<p id="footer">bugs &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index dfc39f7..faa0a93 100644 (file)
@@ -25,7 +25,7 @@ A folder containing a <code>package.json</code> file in its root.</li></ul>
 
 <ul><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/link.html">link(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/json.html">json(1)</a></li></ul>
 </div>
-<p id="footer">build &mdash; npm@1.2.20</p>
+<p id="footer">build &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index cfa6e2b..b33b7ca 100644 (file)
@@ -20,7 +20,7 @@ install packages into the local space.</p>
 
 <ul><li><a href="../doc/install.html">install(1)</a></li></ul>
 </div>
-<p id="footer">bundle &mdash; npm@1.2.20</p>
+<p id="footer">bundle &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index f50d69d..de53d67 100644 (file)
@@ -66,7 +66,7 @@ they do not make an HTTP request to the registry.</p>
 
 <ul><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/pack.html">pack(1)</a></li></ul>
 </div>
-<p id="footer">cache &mdash; npm@1.2.20</p>
+<p id="footer">cache &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 098f959..b23eeae 100644 (file)
@@ -65,7 +65,7 @@
 
 <ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li></ul>
 </div>
-<p id="footer">changelog &mdash; npm@1.2.20</p>
+<p id="footer">changelog &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 81f72c5..cb1a5e3 100644 (file)
@@ -182,7 +182,7 @@ set to anything.&quot;</p>
 
 <ul><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/npm.html">npm(1)</a></li></ul>
 </div>
-<p id="footer">coding-style &mdash; npm@1.2.20</p>
+<p id="footer">coding-style &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 1c87f54..cd87c86 100644 (file)
@@ -33,7 +33,7 @@ completions based on the arguments.</p>
 
 <ul><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/npm.html">npm(1)</a></li></ul>
 </div>
-<p id="footer">completion &mdash; npm@1.2.20</p>
+<p id="footer">completion &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 1526fda..88cf40b 100644 (file)
@@ -771,7 +771,7 @@ then answer &quot;no&quot; to any prompt.</p>
 
 <ul><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/npm.html">npm(1)</a></li></ul>
 </div>
-<p id="footer">config &mdash; npm@1.2.20</p>
+<p id="footer">config &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 59c0ef4..8396b46 100644 (file)
@@ -57,7 +57,7 @@ registry.</p>
 
 <ul><li><a href="../doc/ls.html">ls(1)</a></li><li><a href="../doc/update.html">update(1)</a></li><li><a href="../doc/install.html">install(1)</a></li></ul>
 </div>
-<p id="footer">dedupe &mdash; npm@1.2.20</p>
+<p id="footer">dedupe &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 354059c..3144716 100644 (file)
@@ -31,7 +31,7 @@ something like this:</p>
 
 <ul><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
 </div>
-<p id="footer">deprecate &mdash; npm@1.2.20</p>
+<p id="footer">deprecate &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 1eb5488..5783c79 100644 (file)
@@ -160,7 +160,7 @@ from a fresh checkout.</p>
 
 <ul><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/init.html">init(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
 </div>
-<p id="footer">developers &mdash; npm@1.2.20</p>
+<p id="footer">developers &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 390c834..8b8a850 100644 (file)
@@ -91,7 +91,7 @@ things into it.</li></ol>
 
 <ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/owner.html">owner(1)</a></li></ul>
 </div>
-<p id="footer">disputes &mdash; npm@1.2.20</p>
+<p id="footer">disputes &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index d86f5c0..c544eac 100644 (file)
@@ -37,7 +37,7 @@ config param.</p>
 
 <ul><li><a href="../doc/view.html">view(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/json.html">json(1)</a></li></ul>
 </div>
-<p id="footer">docs &mdash; npm@1.2.20</p>
+<p id="footer">docs &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 149c07f..21e2f79 100644 (file)
@@ -37,7 +37,7 @@ or <code>&quot;notepad&quot;</code> on Windows.</li><li>Type: path</li></ul>
 
 <ul><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/explore.html">explore(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
 </div>
-<p id="footer">edit &mdash; npm@1.2.20</p>
+<p id="footer">edit &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 9153e36..21327a5 100644 (file)
@@ -40,7 +40,7 @@ Windows</li><li>Type: path</li></ul>
 
 <ul><li><a href="../doc/submodule.html">submodule(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/edit.html">edit(1)</a></li><li><a href="../doc/rebuild.html">rebuild(1)</a></li><li><a href="../doc/build.html">build(1)</a></li><li><a href="../doc/install.html">install(1)</a></li></ul>
 </div>
-<p id="footer">explore &mdash; npm@1.2.20</p>
+<p id="footer">explore &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 3c0e019..65d60ba 100644 (file)
@@ -302,7 +302,7 @@ There is not sufficient need to impose namespace rules on everyone.</p>
 
 <ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li></ul>
 </div>
-<p id="footer">faq &mdash; npm@1.2.20</p>
+<p id="footer">faq &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 6028f56..b28bcc3 100644 (file)
@@ -205,7 +205,7 @@ cannot be found elsewhere.  See <code><a href="../doc/json.html">json(1)</a></co
 
 <ul><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/pack.html">pack(1)</a></li><li><a href="../doc/cache.html">cache(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li></ul>
 </div>
-<p id="footer">folders &mdash; npm@1.2.20</p>
+<p id="footer">folders &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 926de27..a858036 100644 (file)
@@ -205,7 +205,7 @@ cannot be found elsewhere.  See <code><a href="../doc/json.html">json(1)</a></co
 
 <ul><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/pack.html">pack(1)</a></li><li><a href="../doc/cache.html">cache(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li></ul>
 </div>
-<p id="footer">global &mdash; npm@1.2.20</p>
+<p id="footer">global &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 46e1f55..ed74752 100644 (file)
@@ -38,7 +38,7 @@ where the terms were found in the documentation.</p>
 
 <ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/help.html">help(1)</a></li></ul>
 </div>
-<p id="footer">help-search &mdash; npm@1.2.20</p>
+<p id="footer">help-search &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 116497d..7fe97e5 100644 (file)
@@ -36,7 +36,7 @@ matches are equivalent to specifying a topic name.</p>
 
 <ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/README.html">README</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/help-search.html">help-search(1)</a></li><li><a href="../doc/index.html">index(1)</a></li></ul>
 </div>
-<p id="footer">help &mdash; npm@1.2.20</p>
+<p id="footer">help &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index d88c86a..1e9f496 100644 (file)
 
 <p> Display npm username</p>
 </div>
-<p id="footer">index &mdash; npm@1.2.20</p>
+<p id="footer">index &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 85a433b..9c91de2 100644 (file)
@@ -29,7 +29,7 @@ without a really good reason to do so.</p>
 
 <ul><li><a href="https://github.com/isaacs/init-package-json">https://github.com/isaacs/init-package-json</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/version.html">version(1)</a></li></ul>
 </div>
-<p id="footer">init &mdash; npm@1.2.20</p>
+<p id="footer">init &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 183236e..84d3b7f 100644 (file)
@@ -136,7 +136,7 @@ affects a real use-case, it will be investigated.</p>
 
 <ul><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/update.html">update(1)</a></li><li><a href="../doc/link.html">link(1)</a></li><li><a href="../doc/rebuild.html">rebuild(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/build.html">build(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/tag.html">tag(1)</a></li><li><a href="../doc/rm.html">rm(1)</a></li><li><a href="../doc/shrinkwrap.html">shrinkwrap(1)</a></li></ul>
 </div>
-<p id="footer">install &mdash; npm@1.2.20</p>
+<p id="footer">install &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index f11ec8e..6249adb 100644 (file)
@@ -546,7 +546,7 @@ overridden.</p>
 
 <ul><li><a href="../doc/semver.html">semver(1)</a></li><li><a href="../doc/init.html">init(1)</a></li><li><a href="../doc/version.html">version(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/help.html">help(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/rm.html">rm(1)</a></li></ul>
 </div>
-<p id="footer">json &mdash; npm@1.2.20</p>
+<p id="footer">json &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 68ea737..b7cfe31 100644 (file)
@@ -23,6 +23,9 @@ symbolic link from <code>prefix/package-name</code> to the current folder.</p>
 <p>Next, in some other location, <code>npm link package-name</code> will create a
 symlink from the local <code>node_modules</code> folder to the global symlink.</p>
 
+<p>Note that <code>package-name</code> is taken from <code>package.json</code> ,
+not from directory name.</p>
+
 <p>When creating tarballs for <code>npm publish</code>, the linked packages are
 &quot;snapshotted&quot; to their current state by resolving the symbolic links.</p>
 
@@ -58,7 +61,7 @@ installation target into your project&#39;s <code>node_modules</code> folder.</p
 
 <ul><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
 </div>
-<p id="footer">link &mdash; npm@1.2.20</p>
+<p id="footer">link &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 36ba872..13129b8 100644 (file)
@@ -25,7 +25,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.2.20 /path/to/npm
+<pre><code>npm@1.2.21 /path/to/npm
 └─┬ init-package-json@0.0.4
   └── promzard@0.1.5</code></pre>
 
@@ -64,7 +64,7 @@ project.</p>
 
 <ul><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/link.html">link(1)</a></li><li><a href="../doc/prune.html">prune(1)</a></li><li><a href="../doc/outdated.html">outdated(1)</a></li><li><a href="../doc/update.html">update(1)</a></li></ul>
 </div>
-<p id="footer">ls &mdash; npm@1.2.20</p>
+<p id="footer">ls &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 35436fb..a492e3e 100644 (file)
@@ -14,7 +14,7 @@
 
 <h2 id="VERSION">VERSION</h2>
 
-<p>1.2.20</p>
+<p>1.2.21</p>
 
 <h2 id="DESCRIPTION">DESCRIPTION</h2>
 
@@ -135,7 +135,7 @@ will no doubt tell you to put the output in a gist or email.</p>
 
 <ul><li><a href="../doc/help.html">help(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/README.html">README</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/index.html">index(1)</a></li><li><a href="../api/npm.html">npm(3)</a></li></ul>
 </div>
-<p id="footer">npm &mdash; npm@1.2.20</p>
+<p id="footer">npm &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 04a3a73..758f31e 100644 (file)
@@ -21,7 +21,7 @@ packages are currently outdated.</p>
 
 <ul><li><a href="../doc/update.html">update(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li></ul>
 </div>
-<p id="footer">outdated &mdash; npm@1.2.20</p>
+<p id="footer">outdated &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 279f8c5..160abcd 100644 (file)
@@ -34,7 +34,7 @@ that is not implemented at this time.</p>
 
 <ul><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../doc/disputes.html">disputes(1)</a></li></ul>
 </div>
-<p id="footer">owner &mdash; npm@1.2.20</p>
+<p id="footer">owner &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index a07e379..32145b4 100644 (file)
@@ -29,7 +29,7 @@ overwritten the second time.</p>
 
 <ul><li><a href="../doc/cache.html">cache(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
 </div>
-<p id="footer">pack &mdash; npm@1.2.20</p>
+<p id="footer">pack &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 7c815c2..447011a 100644 (file)
@@ -20,7 +20,7 @@
 
 <ul><li><a href="../doc/root.html">root(1)</a></li><li><a href="../doc/bin.html">bin(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
 </div>
-<p id="footer">prefix &mdash; npm@1.2.20</p>
+<p id="footer">prefix &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 797cba8..e829337 100644 (file)
@@ -25,7 +25,7 @@ package&#39;s dependencies list.</p>
 
 <ul><li><a href="../doc/rm.html">rm(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/list.html">list(1)</a></li></ul>
 </div>
-<p id="footer">prune &mdash; npm@1.2.20</p>
+<p id="footer">prune &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index bf4baae..9ab83b4 100644 (file)
@@ -29,7 +29,7 @@ the registry.  Overwrites when the &quot;--force&quot; flag is set.</p>
 
 <ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../doc/owner.html">owner(1)</a></li><li><a href="../doc/deprecate.html">deprecate(1)</a></li><li><a href="../doc/tag.html">tag(1)</a></li></ul>
 </div>
-<p id="footer">publish &mdash; npm@1.2.20</p>
+<p id="footer">publish &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 0415737..c7314b5 100644 (file)
@@ -25,7 +25,7 @@ the new binary.</p>
 
 <ul><li><a href="../doc/build.html">build(1)</a></li><li><a href="../doc/install.html">install(1)</a></li></ul>
 </div>
-<p id="footer">rebuild &mdash; npm@1.2.20</p>
+<p id="footer">rebuild &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 0d27722..f6f249d 100644 (file)
@@ -95,7 +95,7 @@ ask for help on the <a href="mailto:npm-@googlegroups.com">npm-@googlegroups.com
 
 <ul><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/disputes.html">disputes(1)</a></li></ul>
 </div>
-<p id="footer">registry &mdash; npm@1.2.20</p>
+<p id="footer">registry &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index c67ea38..b346f9e 100644 (file)
@@ -58,7 +58,7 @@ modules.  To track those down, you can do the following:</p>
 
 <ul><li><a href="../doc/README.html">README</a></li><li><a href="../doc/rm.html">rm(1)</a></li><li><a href="../doc/prune.html">prune(1)</a></li></ul>
 </div>
-<p id="footer">removing-npm &mdash; npm@1.2.20</p>
+<p id="footer">removing-npm &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 1c96319..ebb5779 100644 (file)
@@ -24,7 +24,7 @@ the &quot;start&quot; script.</p>
 
 <ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/test.html">test(1)</a></li><li><a href="../doc/start.html">start(1)</a></li><li><a href="../doc/stop.html">stop(1)</a></li></ul>
 </div>
-<p id="footer">restart &mdash; npm@1.2.20</p>
+<p id="footer">restart &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index a028a9f..2251e8e 100644 (file)
@@ -22,7 +22,7 @@ on its behalf.</p>
 
 <ul><li><a href="../doc/prune.html">prune(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
 </div>
-<p id="footer">rm &mdash; npm@1.2.20</p>
+<p id="footer">rm &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 028457b..abae7dd 100644 (file)
@@ -20,7 +20,7 @@
 
 <ul><li><a href="../doc/prefix.html">prefix(1)</a></li><li><a href="../doc/bin.html">bin(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
 </div>
-<p id="footer">root &mdash; npm@1.2.20</p>
+<p id="footer">root &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index a266430..36b0625 100644 (file)
@@ -23,7 +23,7 @@ called directly, as well.</p>
 
 <ul><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/test.html">test(1)</a></li><li><a href="../doc/start.html">start(1)</a></li><li><a href="../doc/restart.html">restart(1)</a></li><li><a href="../doc/stop.html">stop(1)</a></li></ul>
 </div>
-<p id="footer">run-script &mdash; npm@1.2.20</p>
+<p id="footer">run-script &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index f1a04d2..b3da439 100644 (file)
@@ -218,7 +218,7 @@ will sudo the npm command in question.</li></ul>
 
 <ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/install.html">install(1)</a></li></ul>
 </div>
-<p id="footer">scripts &mdash; npm@1.2.20</p>
+<p id="footer">scripts &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index eddae89..c510ac3 100644 (file)
@@ -24,7 +24,7 @@ expression characters must be escaped or quoted in most shells.)</p>
 
 <ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/view.html">view(1)</a></li></ul>
 </div>
-<p id="footer">search &mdash; npm@1.2.20</p>
+<p id="footer">search &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index bb1e4dd..7e6f15a 100644 (file)
@@ -104,7 +104,7 @@ that satisfies the range, or null if none of them do.</li></ul>
 
 <ul><li><a href="../doc/json.html">json(1)</a></li></ul>
 </div>
-<p id="footer">semver &mdash; npm@1.2.20</p>
+<p id="footer">semver &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 335ed65..2ac09a8 100644 (file)
@@ -16,7 +16,8 @@
 
 <p>This command locks down the versions of a package&#39;s dependencies so that you can
 control exactly which versions of each dependency will be used when your package
-is installed.</p>
+is installed. The &quot;package.json&quot; file is still required if you want to use &quot;npm
+install&quot;.</p>
 
 <p>By default, &quot;npm install&quot; recursively installs the target&#39;s dependencies (as
 specified in package.json), choosing the latest available version that satisfies
@@ -169,7 +170,7 @@ versions.</p>
 
 <ul><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/list.html">list(1)</a></li></ul>
 </div>
-<p id="footer">shrinkwrap &mdash; npm@1.2.20</p>
+<p id="footer">shrinkwrap &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 1219da1..0145ff8 100644 (file)
@@ -26,7 +26,7 @@ a vaguely positive way to show that you care.</p>
 
 <ul><li><a href="../doc/view.html">view(1)</a></li><li><a href="../doc/whoami.html">whoami(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li></ul>
 </div>
-<p id="footer">star &mdash; npm@1.2.20</p>
+<p id="footer">star &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 5386537..3fea595 100644 (file)
@@ -25,7 +25,7 @@ you will most certainly enjoy this command.</p>
 
 <ul><li><a href="../doc/star.html">star(1)</a></li><li><a href="../doc/view.html">view(1)</a></li><li><a href="../doc/whoami.html">whoami(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li></ul>
 </div>
-<p id="footer">stars &mdash; npm@1.2.20</p>
+<p id="footer">stars &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 95785fd..ec4530d 100644 (file)
@@ -20,7 +20,7 @@
 
 <ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/test.html">test(1)</a></li><li><a href="../doc/restart.html">restart(1)</a></li><li><a href="../doc/stop.html">stop(1)</a></li></ul>
 </div>
-<p id="footer">start &mdash; npm@1.2.20</p>
+<p id="footer">start &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 14bd894..74b614c 100644 (file)
@@ -20,7 +20,7 @@
 
 <ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/test.html">test(1)</a></li><li><a href="../doc/start.html">start(1)</a></li><li><a href="../doc/restart.html">restart(1)</a></li></ul>
 </div>
-<p id="footer">stop &mdash; npm@1.2.20</p>
+<p id="footer">stop &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index e6fdca8..72405a5 100644 (file)
@@ -33,7 +33,7 @@ dependencies into the submodule folder.</p>
 
 <ul><li><a href="../doc/json.html">json(1)</a></li><li>git help submodule</li></ul>
 </div>
-<p id="footer">submodule &mdash; npm@1.2.20</p>
+<p id="footer">submodule &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index e26d5a0..660b16f 100644 (file)
@@ -21,7 +21,7 @@
 
 <ul><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
 </div>
-<p id="footer">tag &mdash; npm@1.2.20</p>
+<p id="footer">tag &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index e45f7a8..ab757ce 100644 (file)
@@ -23,7 +23,7 @@ true.</p>
 
 <ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/start.html">start(1)</a></li><li><a href="../doc/restart.html">restart(1)</a></li><li><a href="../doc/stop.html">stop(1)</a></li></ul>
 </div>
-<p id="footer">test &mdash; npm@1.2.20</p>
+<p id="footer">test &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 92bf61a..2b9a3e8 100644 (file)
@@ -22,7 +22,7 @@ on its behalf.</p>
 
 <ul><li><a href="../doc/prune.html">prune(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
 </div>
-<p id="footer">uninstall &mdash; npm@1.2.20</p>
+<p id="footer">uninstall &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 1d74a17..ab0d062 100644 (file)
@@ -34,7 +34,7 @@ the root package entry is removed from the registry entirely.</p>
 
 <ul><li><a href="../doc/deprecate.html">deprecate(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../doc/owner.html">owner(1)</a></li></ul>
 </div>
-<p id="footer">unpublish &mdash; npm@1.2.20</p>
+<p id="footer">unpublish &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 48a3822..a1c4db2 100644 (file)
@@ -26,7 +26,7 @@ If no package name is specified, all packages in the specified location (global
 
 <ul><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/outdated.html">outdated(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/list.html">list(1)</a></li></ul>
 </div>
-<p id="footer">update &mdash; npm@1.2.20</p>
+<p id="footer">update &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 4624382..a1d622a 100644 (file)
@@ -49,7 +49,7 @@ Enter passphrase:</code></pre>
 
 <ul><li><a href="../doc/init.html">init(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/semver.html">semver(1)</a></li></ul>
 </div>
-<p id="footer">version &mdash; npm@1.2.20</p>
+<p id="footer">version &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 7080a05..eb1f0c3 100644 (file)
@@ -90,7 +90,7 @@ the field name.</p>
 
 <ul><li><a href="../doc/search.html">search(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/docs.html">docs(1)</a></li></ul>
 </div>
-<p id="footer">view &mdash; npm@1.2.20</p>
+<p id="footer">view &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 291f4d2..a8feda5 100644 (file)
@@ -20,7 +20,7 @@
 
 <ul><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li></ul>
 </div>
-<p id="footer">whoami &mdash; npm@1.2.20</p>
+<p id="footer">whoami &mdash; npm@1.2.21</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 275a5ce..8b55115 100644 (file)
@@ -18,7 +18,7 @@ function explore (args, cb) {
   else args = []
 
   var cwd = path.resolve(npm.dir, p)
-  var s = npm.config.get("shell")
+  var sh = npm.config.get("shell")
   fs.stat(cwd, function (er, s) {
     if (er || !s.isDirectory()) return cb(new Error(
       "It doesn't look like "+p+" is installed."))
@@ -26,7 +26,7 @@ function explore (args, cb) {
       "\nExploring "+cwd+"\n"+
       "Type 'exit' or ^D when finished\n")
 
-    var shell = spawn(s, args, { cwd: cwd, customFds: [0, 1, 2] })
+    var shell = spawn(sh, args, { cwd: cwd, customFds: [0, 1, 2] })
     shell.on("close", function (er) {
       // only fail if non-interactive.
       if (!args.length) return cb()
index 4db8d58..cb59a78 100644 (file)
@@ -93,7 +93,7 @@ function install (args, cb_) {
       var tree = treeify(installed || [])
         , pretty = prettify(tree, installed).trim()
 
-      if (pretty) console.log(pretty)
+      if (pretty) log.write(pretty)
       save(where, installed, tree, pretty, cb_)
     })
   }
index 8073b18..9a6a69c 100644 (file)
@@ -14,9 +14,6 @@ if (typeof WScript !== "undefined") {
 // monkey-patch support for 0.6 child processes
 require('child-process-close')
 
-// FIXME there really ought to be a path.split in node core
-require("path").SPLIT_CHAR = process.platform === "win32" ? "\\" : "/"
-
 var EventEmitter = require("events").EventEmitter
   , npm = module.exports = new EventEmitter
   , config = require("./config.js")
index 1cbf054..c89a538 100644 (file)
@@ -76,19 +76,27 @@ function rmMans (pkg, folder, parent, top, cb) {
   }
   var manRoot = path.resolve(npm.config.get("prefix"), "share", "man")
   asyncMap(pkg.man, function (man, cb) {
-    var parseMan = man.match(/(.*)\.([0-9]+)(\.gz)?$/)
-      , stem = parseMan[1]
-      , sxn = parseMan[2]
-      , gz = parseMan[3] || ""
-      , bn = path.basename(stem)
-      , manDest = path.join( manRoot
-                           , "man"+sxn
-                           , (bn.indexOf(pkg.name) === 0 ? bn
-                             : pkg.name + "-" + bn)
-                             + "." + sxn + gz
-                           )
-    gentlyRm( manDest
-            , !npm.config.get("force") && folder
-            , cb )
+    if (Array.isArray(man)) {
+      man.forEach(rm)
+    } else {
+      rm(man)
+    }
+
+    function rm(man) {
+      var parseMan = man.match(/(.*)\.([0-9]+)(\.gz)?$/)
+        , stem = parseMan[1]
+        , sxn = parseMan[2]
+        , gz = parseMan[3] || ""
+        , bn = path.basename(stem)
+        , manDest = path.join( manRoot
+                            , "man"+sxn
+                            , (bn.indexOf(pkg.name) === 0 ? bn
+                              : pkg.name + "-" + bn)
+                              + "." + sxn + gz
+                            )
+      gentlyRm( manDest
+              , !npm.config.get("force") && folder
+              , cb )
+    }
   }, cb)
 }
index 59dd43c..2bf1687 100644 (file)
@@ -26,6 +26,10 @@ Next, in some other location, \fBnpm link package\-name\fR will create a
 symlink from the local \fBnode_modules\fR folder to the global symlink\.
 .
 .P
+Note that \fBpackage\-name\fR is taken from \fBpackage\.json\fR ,
+not from directory name\.
+.
+.P
 When creating tarballs for \fBnpm publish\fR, the linked packages are
 "snapshotted" to their current state by resolving the symbolic links\.
 .
index dcc12f8..506fa46 100644 (file)
@@ -29,7 +29,7 @@ For example, running \fBnpm ls promzard\fR in npm\'s source tree will show:
 .IP "" 4
 .
 .nf
-npm@1.2.20 /path/to/npm
+npm@1.2.21 /path/to/npm
 └─┬ init\-package\-json@0\.0\.4
   └── promzard@0\.1\.5
 .
index 3982703..40568df 100644 (file)
@@ -14,7 +14,7 @@ npm <command> [args]
 .fi
 .
 .SH "VERSION"
-1.2.20
+1.2.21
 .
 .SH "DESCRIPTION"
 npm is the package manager for the Node JavaScript platform\.  It puts
index d6da002..b121958 100644 (file)
@@ -16,7 +16,8 @@ npm shrinkwrap
 .SH "DESCRIPTION"
 This command locks down the versions of a package\'s dependencies so that you can
 control exactly which versions of each dependency will be used when your package
-is installed\.
+is installed\. The "package\.json" file is still required if you want to use "npm
+install"\.
 .
 .P
 By default, "npm install" recursively installs the target\'s dependencies (as
index c31fedb..56f8d62 100644 (file)
@@ -21,7 +21,7 @@ npm\.load([configObject,] function (er, npm) {
 .fi
 .
 .SH "VERSION"
-1.2.20
+1.2.21
 .
 .SH "DESCRIPTION"
 This is the API documentation for npm\.
index 75a03ee..8e6e00c 100644 (file)
@@ -1,5 +1,5 @@
 {
-  "version": "1.2.20",
+  "version": "1.2.21",
   "name": "npm",
   "publishConfig": {
     "proprietary-attribs": false