npm: Upgrade to 1.1.46
authorisaacs <i@izs.me>
Thu, 2 Aug 2012 02:10:42 +0000 (19:10 -0700)
committerisaacs <i@izs.me>
Thu, 2 Aug 2012 15:09:47 +0000 (08:09 -0700)
231 files changed:
deps/npm/Makefile
deps/npm/doc/cli/npm.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/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/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/list.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/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/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/html/dochead.html
deps/npm/lib/config.js
deps/npm/lib/npm.js
deps/npm/lib/utils/ini.js
deps/npm/man/man1/README.1
deps/npm/man/man1/adduser.1
deps/npm/man/man1/bin.1
deps/npm/man/man1/bugs.1
deps/npm/man/man1/build.1
deps/npm/man/man1/bundle.1
deps/npm/man/man1/cache.1
deps/npm/man/man1/changelog.1
deps/npm/man/man1/coding-style.1
deps/npm/man/man1/completion.1
deps/npm/man/man1/config.1
deps/npm/man/man1/deprecate.1
deps/npm/man/man1/developers.1
deps/npm/man/man1/disputes.1
deps/npm/man/man1/docs.1
deps/npm/man/man1/edit.1
deps/npm/man/man1/explore.1
deps/npm/man/man1/faq.1
deps/npm/man/man1/folders.1
deps/npm/man/man1/help-search.1
deps/npm/man/man1/help.1
deps/npm/man/man1/index.1
deps/npm/man/man1/init.1
deps/npm/man/man1/install.1
deps/npm/man/man1/json.1
deps/npm/man/man1/link.1
deps/npm/man/man1/list.1
deps/npm/man/man1/npm.1
deps/npm/man/man1/outdated.1
deps/npm/man/man1/owner.1
deps/npm/man/man1/pack.1
deps/npm/man/man1/prefix.1
deps/npm/man/man1/prune.1
deps/npm/man/man1/publish.1
deps/npm/man/man1/rebuild.1
deps/npm/man/man1/registry.1
deps/npm/man/man1/removing-npm.1
deps/npm/man/man1/restart.1
deps/npm/man/man1/root.1
deps/npm/man/man1/run-script.1
deps/npm/man/man1/scripts.1
deps/npm/man/man1/search.1
deps/npm/man/man1/semver.1
deps/npm/man/man1/shrinkwrap.1
deps/npm/man/man1/star.1
deps/npm/man/man1/start.1
deps/npm/man/man1/stop.1
deps/npm/man/man1/submodule.1
deps/npm/man/man1/tag.1
deps/npm/man/man1/test.1
deps/npm/man/man1/uninstall.1
deps/npm/man/man1/unpublish.1
deps/npm/man/man1/update.1
deps/npm/man/man1/version.1
deps/npm/man/man1/view.1
deps/npm/man/man1/whoami.1
deps/npm/man/man3/bin.3
deps/npm/man/man3/bugs.3
deps/npm/man/man3/commands.3
deps/npm/man/man3/config.3
deps/npm/man/man3/deprecate.3
deps/npm/man/man3/docs.3
deps/npm/man/man3/edit.3
deps/npm/man/man3/explore.3
deps/npm/man/man3/help-search.3
deps/npm/man/man3/init.3
deps/npm/man/man3/install.3
deps/npm/man/man3/link.3
deps/npm/man/man3/load.3
deps/npm/man/man3/ls.3
deps/npm/man/man3/npm.3
deps/npm/man/man3/outdated.3
deps/npm/man/man3/owner.3
deps/npm/man/man3/pack.3
deps/npm/man/man3/prefix.3
deps/npm/man/man3/prune.3
deps/npm/man/man3/publish.3
deps/npm/man/man3/rebuild.3
deps/npm/man/man3/restart.3
deps/npm/man/man3/root.3
deps/npm/man/man3/run-script.3
deps/npm/man/man3/search.3
deps/npm/man/man3/shrinkwrap.3
deps/npm/man/man3/start.3
deps/npm/man/man3/stop.3
deps/npm/man/man3/submodule.3
deps/npm/man/man3/tag.3
deps/npm/man/man3/test.3
deps/npm/man/man3/uninstall.3
deps/npm/man/man3/unpublish.3
deps/npm/man/man3/update.3
deps/npm/man/man3/version.3
deps/npm/man/man3/view.3
deps/npm/man/man3/whoami.3
deps/npm/node_modules/glob/LICENSE [moved from deps/npm/node_modules/glob/LICENCE with 50% similarity]
deps/npm/node_modules/glob/glob.js
deps/npm/node_modules/glob/package.json
deps/npm/node_modules/glob/test/bash-comparison.js
deps/npm/node_modules/glob/test/pause-resume.js
deps/npm/node_modules/graceful-fs/graceful-fs.js
deps/npm/node_modules/graceful-fs/package.json
deps/npm/node_modules/graceful-fs/test/open.js [new file with mode: 0644]
deps/npm/node_modules/lru-cache/AUTHORS
deps/npm/node_modules/lru-cache/README.md
deps/npm/node_modules/lru-cache/lib/lru-cache.js
deps/npm/node_modules/lru-cache/package.json
deps/npm/node_modules/lru-cache/test/basic.js
deps/npm/node_modules/mkdirp/.gitignore.orig [new file with mode: 0644]
deps/npm/node_modules/mkdirp/.gitignore.rej [new file with mode: 0644]
deps/npm/node_modules/mkdirp/examples/pow.js.orig [new file with mode: 0644]
deps/npm/node_modules/mkdirp/examples/pow.js.rej [new file with mode: 0644]
deps/npm/node_modules/node-gyp/bin/node-gyp.js
deps/npm/node_modules/node-gyp/lib/configure.js
deps/npm/node_modules/node-gyp/lib/node-gyp.js
deps/npm/node_modules/node-gyp/package.json
deps/npm/node_modules/read-package-json/package.json
deps/npm/node_modules/read-package-json/read-json.js
deps/npm/node_modules/read-package-json/test/basic.js
deps/npm/node_modules/read-package-json/test/fixtures/not-json.css [new file with mode: 0644]
deps/npm/node_modules/read-package-json/test/non-json.js [new file with mode: 0644]
deps/npm/node_modules/read/README.md
deps/npm/node_modules/read/lib/read.js
deps/npm/node_modules/read/node_modules/mute-stream/README.md
deps/npm/node_modules/read/node_modules/mute-stream/mute.js
deps/npm/node_modules/read/node_modules/mute-stream/package.json
deps/npm/node_modules/read/node_modules/mute-stream/test/basic.js
deps/npm/node_modules/read/package.json
deps/npm/package.json
deps/npm/test/packages/npm-test-blerg3/README [new file with mode: 0644]
deps/npm/test/packages/npm-test-blerg3/package.json [new file with mode: 0644]
deps/npm/test/packages/npm-test-blerg3/test.js [new file with mode: 0644]

index 96e3f37..9c38f97 100644 (file)
@@ -113,13 +113,21 @@ publish: link doc
 
 docpublish: doc-publish
 doc-publish: doc
-       rsync -vazu --stats --no-implied-dirs --delete html/doc/ npmjs.org:/var/www/npmjs.org/public/doc
-       rsync -vazu --stats --no-implied-dirs --delete html/api/ npmjs.org:/var/www/npmjs.org/public/api
-       rsync -vazu --stats --no-implied-dirs --delete html/webfonts/ npmjs.org:/var/www/npmjs.org/public/webfonts
-       scp html/style.css npmjs.org:/var/www/npmjs.org/public/
+       rsync -vazu --stats --no-implied-dirs --delete \
+               html/doc/ \
+               node@npmjs.org:/home/node/npm-www/doc
+       rsync -vazu --stats --no-implied-dirs --delete \
+               html/api/ \
+               node@npmjs.org:/home/node/npm-www/api
+       rsync -vazu --stats --no-implied-dirs --delete \
+               html/webfonts/ \
+               node@npmjs.org:/home/node/npm-www/static/webfonts
+       rsync -vazu --stats --no-implied-dirs --delete \
+               html/style.css \
+               node@npmjs.org:/home/node/npm-www/static/
 
 zip-publish: release
-       scp release/* npmjs.org:/var/www/npmjs.org/public/dist/
+       scp release/* izs.me:/var/www/izs.me/static/public/npm/
 
 release:
        @bash scripts/release.sh
index cd3360d..a325fdf 100644 (file)
@@ -64,7 +64,7 @@ following help topics:
   Especially, installing other peoples code from the registry is done via
   `npm install`
 * adduser:
-  Create an account or log in.  Creditials are stored in the
+  Create an account or log in.  Credentials are stored in the
   user config file.
 * publish:
   Use the `npm publish` command to upload your code to the registry.
index 7a76479..95d225a 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>bin</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">bin &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 000b50e..272deb7 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>bugs</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">bugs &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 50326a1..b058ca0 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>commands</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">commands &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 6d84acc..d7e5300 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>config</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">config &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index ff88b96..c9445b3 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>deprecate</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -30,7 +30,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.1.45</p>
+<p id="footer">deprecate &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 115f672..f16c063 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>docs</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">docs &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index d3ac09e..e0abe85 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>edit</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">edit &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index fa8dfa3..74ab5f6 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>explore</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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 'args' 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.1.45</p>
+<p id="footer">explore &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 8072811..ead1700 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>help-search</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">help-search &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 3305110..e751091 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>init</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">init &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index d8f53a7..7d127ac 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>install</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -25,7 +25,7 @@ the name of a package to be installed.</p>
 <p>Finally, 'callback' 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.1.45</p>
+<p id="footer">install &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 28d73fa..e4edfca 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>link</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -39,7 +39,7 @@ npm.commands.link('redis', 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.1.45</p>
+<p id="footer">link &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 382dddf..4e29bc0 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>load</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">load &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 7eda5d9..8f0bac7 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>ls</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">ls &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index fb44563..647410f 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>npm</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -24,7 +24,7 @@ npm.load(configObject, function (er, npm) {
 
 <h2 id="VERSION">VERSION</h2>
 
-<p>1.1.45</p>
+<p>1.1.46</p>
 
 <h2 id="DESCRIPTION">DESCRIPTION</h2>
 
@@ -91,7 +91,7 @@ method names.  Use the <code>npm.deref</code> method to find the real name.</p>
 
 <pre><code>var cmd = npm.deref("unp") // cmd === "unpublish"</code></pre>
 </div>
-<p id="footer">npm &mdash; npm@1.1.45</p>
+<p id="footer">npm &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index edb98d3..0d57e2e 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>outdated</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -19,7 +19,7 @@ currently outdated.</p>
 
 <p>If the 'packages' parameter is left out, npm will check all packages.</p>
 </div>
-<p id="footer">outdated &mdash; npm@1.1.45</p>
+<p id="footer">outdated &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index ac7bdc5..084174c 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>owner</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">owner &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index f1bcd1f..58e1730 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>pack</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">pack &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 3824f0b..a1606e7 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>prefix</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -21,7 +21,7 @@
 
 <p>This function is not useful programmatically</p>
 </div>
-<p id="footer">prefix &mdash; npm@1.1.45</p>
+<p id="footer">prefix &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 4cd195b..b6acae2 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>prune</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -23,7 +23,7 @@
 <p>Extraneous packages are packages that are not listed on the parent
 package's dependencies list.</p>
 </div>
-<p id="footer">prune &mdash; npm@1.1.45</p>
+<p id="footer">prune &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 093fbe5..188e68f 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>publish</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -32,7 +32,7 @@ the registry.  Overwrites when the "force" environment variable 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="../api/owner.html">owner(3)</a></li></ul>
 </div>
-<p id="footer">publish &mdash; npm@1.1.45</p>
+<p id="footer">publish &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 5b00c1c..543a1d3 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>rebuild</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -22,7 +22,7 @@ the new binary. If no 'packages' parameter is specify, every package will be reb
 
 <p>See <code>npm help build</code></p>
 </div>
-<p id="footer">rebuild &mdash; npm@1.1.45</p>
+<p id="footer">rebuild &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 1aa4693..6092be6 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>restart</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">restart &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index e00d8af..7a93110 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>root</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -21,7 +21,7 @@
 
 <p>This function is not useful programmatically.</p>
 </div>
-<p id="footer">root &mdash; npm@1.1.45</p>
+<p id="footer">root &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index fe73a7d..48839c5 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>run-script</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">run-script &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 92406cf..ea27de2 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>search</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -32,7 +32,7 @@ excluded term (the "searchexclude" config). The search is case insensitive
 and doesn't try to read your mind (it doesn't do any verb tense matching or the
 like).</p>
 </div>
-<p id="footer">search &mdash; npm@1.1.45</p>
+<p id="footer">search &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 6d7e19d..ad3b59b 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>shrinkwrap</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -26,7 +26,7 @@ but the shrinkwrap file will still be written.</p>
 <p>Finally, 'callback' is a function that will be called when the shrinkwrap has
 been saved.</p>
 </div>
-<p id="footer">shrinkwrap &mdash; npm@1.1.45</p>
+<p id="footer">shrinkwrap &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index ed3c824..99d8a98 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>start</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">start &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index f20c8cc..10a77c2 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>stop</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">stop &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 6d89a55..c221270 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>submodule</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">submodule &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 82738f9..08f5ed2 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>tag</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">tag &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 146011d..f6fa990 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>test</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">test &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 6e8aea2..cd8585f 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>uninstall</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -22,7 +22,7 @@ the name of a package to be uninstalled.</p>
 <p>Finally, 'callback' 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.1.45</p>
+<p id="footer">uninstall &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index b2933e5..03411bd 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>unpublish</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">unpublish &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 623b89c..edf5272 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>update</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -18,7 +18,7 @@
 
 <p>The 'packages' argument is an array of packages to update. The 'callback' parameter will be called when done or when an error occurs.</p>
 </div>
-<p id="footer">update &mdash; npm@1.1.45</p>
+<p id="footer">update &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 9de4104..a3224d0 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>version</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">version &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 64790d9..d6ba5e6 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>view</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">view &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 3a2b3a4..99981f3 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>whoami</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -21,7 +21,7 @@
 
 <p>This function is not useful programmatically</p>
 </div>
-<p id="footer">whoami &mdash; npm@1.1.45</p>
+<p id="footer">whoami &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index ccdb80e..9758d04 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>README</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -261,7 +261,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.1.45</p>
+<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 1335502..440500b 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>adduser</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">adduser &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 4751d7c..fc0e64a 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>bin</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">bin &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index de08bb0..c0df894 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>bugs</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">bugs &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 407b206..58da521 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>build</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">build &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 9c89d6b..8c57508 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>bundle</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">bundle &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index fbaf73b..14b9a17 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>cache</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">cache &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 5542ab6..e0e221e 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>changelog</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">changelog &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index d442814..b4b5d7a 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>coding-style</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -180,7 +180,7 @@ set to anything."</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.1.45</p>
+<p id="footer">coding-style &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index c55dbaf..703df2e 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>completion</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">completion &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 5737823..358899c 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>config</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -748,7 +748,7 @@ then answer "no" 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.1.45</p>
+<p id="footer">config &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 55bda08..acf5545 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>deprecate</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -29,7 +29,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.1.45</p>
+<p id="footer">deprecate &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 59d07bb..721ca2c 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>developers</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">developers &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 0873150..c6f7390 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>disputes</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -80,7 +80,7 @@ license statement)</li><li>Illegal content.</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.1.45</p>
+<p id="footer">disputes &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 8a23b2d..61606da 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>docs</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">docs &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 7e992e4..10e56b6 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>edit</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -37,7 +37,7 @@ or <code>"notepad"</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.1.45</p>
+<p id="footer">edit &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index a649313..e3b9a8c 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>explore</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">explore &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index eda4cde..818496a 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>faq</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -241,7 +241,7 @@ We'll have someone kick it or something.</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.1.45</p>
+<p id="footer">faq &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index cd81297..18013d9 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>folders</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">folders &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 9986c2d..fa8d0ab 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>help-search</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">help-search &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 211ea42..952e378 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>help</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">help &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 9a80b11..63d45fe 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>index</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
 
 <p> Display npm username</p>
 </div>
-<p id="footer">index &mdash; npm@1.1.45</p>
+<p id="footer">index &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 1e1eed8..ff24410 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>init</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">init &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index a8525b2..15d4566 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>install</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -133,7 +133,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.1.45</p>
+<p id="footer">install &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 5d6a6ca..84841e0 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>json</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -524,7 +524,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.1.45</p>
+<p id="footer">json &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index a00fd08..5ad8a8f 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>link</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -58,7 +58,7 @@ installation target into your project'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.1.45</p>
+<p id="footer">link &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 65d67c4..da695fa 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>list</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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's source tree will show:</p>
 
-<pre><code>npm@1.1.45 /path/to/npm
+<pre><code>npm@1.1.46 /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">list &mdash; npm@1.1.45</p>
+<p id="footer">list &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 5bafee1..e549fce 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>npm</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -14,7 +14,7 @@
 
 <h2 id="VERSION">VERSION</h2>
 
-<p>1.1.45</p>
+<p>1.1.46</p>
 
 <h2 id="DESCRIPTION">DESCRIPTION</h2>
 
@@ -65,7 +65,7 @@ don't have to reinstall every time you make a change.  Use
 It's a good idea to install things if you don't need the symbolic link.
 Especially, installing other peoples code from the registry is done via
 <code>npm install</code></li><li>adduser:
-Create an account or log in.  Creditials are stored in the
+Create an account or log in.  Credentials are stored in the
 user config file.</li><li>publish:
 Use the <code>npm publish</code> command to upload your code to the registry.</li></ul>
 
@@ -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.1.45</p>
+<p id="footer">npm &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index bb5accc..61d9f9b 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>outdated</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">outdated &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 41bfd4d..8ddd2de 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>owner</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">owner &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 602e1cf..3faac62 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>pack</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">pack &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index bd5ffc8..4450948 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>prefix</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">prefix &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 5ecb0ad..f2f264a 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>prune</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -25,7 +25,7 @@ package'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.1.45</p>
+<p id="footer">prune &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 08d3885..c709002 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>publish</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -29,7 +29,7 @@ the registry.  Overwrites when the "--force" 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.1.45</p>
+<p id="footer">publish &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index fa830dd..35c876e 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>rebuild</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">rebuild &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 1694a54..35a97e4 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>registry</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -97,7 +97,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.1.45</p>
+<p id="footer">registry &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 9bb3cc9..9db7192 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>removing-npm</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">removing-npm &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 102670c..a448f03 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>restart</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -24,7 +24,7 @@ the "start" 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.1.45</p>
+<p id="footer">restart &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 61c8d5f..2a081eb 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>root</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">root &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index a092d2c..9e161ab 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>run-script</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">run-script &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index c3ca044..e4dad8d 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>scripts</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -177,7 +177,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.1.45</p>
+<p id="footer">scripts &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 4e4eefe..082467d 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>search</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">search &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index f611ed6..cd9ee97 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>semver</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">semver &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 9fbefa5..b871db2 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>shrinkwrap</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -169,7 +169,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.1.45</p>
+<p id="footer">shrinkwrap &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 290af00..fb68879 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>star</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">star &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index abe39b6..7f7972b 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>start</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">start &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 5d5bc21..40c160b 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>stop</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">stop &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 2c51425..835abcb 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>submodule</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">submodule &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index a68eb79..082f47b 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>tag</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">tag &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 3aefa62..4763de4 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>test</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">test &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 1be107d..a830ada 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>uninstall</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">uninstall &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 5489f1a..d340bb9 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>unpublish</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">unpublish &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 5e7b7ab..1287d3d 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>update</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -23,7 +23,7 @@
 
 <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.1.45</p>
+<p id="footer">update &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 95d4dbc..6ec9277 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>version</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -40,7 +40,7 @@ in your git config for this to work properly.</p>
 
 <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.1.45</p>
+<p id="footer">version &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 81543ba..6172ff8 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>view</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -88,7 +88,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.1.45</p>
+<p id="footer">view &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 6a80503..bfc0843 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>whoami</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
@@ -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.1.45</p>
+<p id="footer">whoami &mdash; npm@1.1.46</p>
 <script>
 ;(function () {
 var wrapper = document.getElementById("wrapper")
index 9ce382d..1526e1b 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <title>@NAME@</title>
   <meta http-equiv="content-type" value="text/html;utf-8">
-  <link rel="stylesheet" type="text/css" href="../style.css">
+  <link rel="stylesheet" type="text/css" href="../static/style.css">
 
   <body>
     <div id="wrapper">
index 870f05f..9c632c0 100644 (file)
@@ -167,9 +167,8 @@ function list (cb) {
   if (cliKeys.length) {
     msg += "; cli configs" + eol
     cliKeys.forEach(function (k) {
-      if (cli[k] && typeof cli[k] === 'object') return
+      if (cli[k] && typeof cli[k] === "object") return
       if (k === "argv") return
-      if (typeof cli[k] === 'object') return
       msg += k + " = " + JSON.stringify(cli[k]) + eol
     })
     msg += eol
@@ -185,7 +184,6 @@ function list (cb) {
   if (envKeys.length) {
     msg += "; environment configs" + eol
     envKeys.forEach(function (k) {
-      if (env[k] && typeof env[k] === 'object') return
       if (env[k] !== ini.get(k)) {
         if (!long) return
         msg += "; " + k + " = " + JSON.stringify(env[k])
@@ -205,7 +203,6 @@ function list (cb) {
   if (uconfKeys.length) {
     msg += "; userconfig " + ini.get("userconfig") + eol
     uconfKeys.forEach(function (k) {
-      if (uconf[k] && typeof uconf[k] === 'object') return
       var val = (k.charAt(0) === "_")
               ? "---sekretz---"
               : JSON.stringify(uconf[k])
@@ -228,7 +225,6 @@ function list (cb) {
   if (gconfKeys.length) {
     msg += "; globalconfig " + ini.get("globalconfig") + eol
     gconfKeys.forEach(function (k) {
-      if (gconf[k] && typeof gconf[k] === 'object') return
       var val = (k.charAt(0) === "_")
               ? "---sekretz---"
               : JSON.stringify(gconf[k])
@@ -252,7 +248,6 @@ function list (cb) {
     var path = require("path")
     msg += "; builtin config " + path.resolve(__dirname, "../npmrc") + eol
     bconfKeys.forEach(function (k) {
-      if (bconf[k] && typeof bconf[k] === 'object') return
       var val = (k.charAt(0) === "_")
               ? "---sekretz---"
               : JSON.stringify(bconf[k])
@@ -274,14 +269,14 @@ function list (cb) {
          + "; 'npm config ls -l' to show all defaults." + eol
 
     console.log(msg)
-    cb()
+    return cb()
   }
 
   var defaults = ini.defaultConfig
     , defKeys = Object.keys(defaults)
   msg += "; default values" + eol
   defKeys.forEach(function (k) {
-    if (defaults[k] && typeof defaults[k] === 'object') return
+    if (defaults[k] && typeof defaults[k] === "object") return
     var val = JSON.stringify(defaults[k])
     if (defaults[k] !== ini.get(k)) {
       if (!long) return
@@ -292,7 +287,7 @@ function list (cb) {
   msg += eol
 
   console.log(msg)
-  cb()
+  return cb()
 }
 
 function unknown (action, cb) {
index 4db289a..e5d4b24 100644 (file)
@@ -294,9 +294,14 @@ function load (npm, conf, cb) {
 
       // at this point the configs are all set.
       // go ahead and spin up the registry client.
-      var token
-      try { token = JSON.parse(npm.config.get("_token")) }
-      catch (er) { token = null }
+      var token = npm.config.get("_token")
+      if (typeof token === "string") {
+        try {
+          token = JSON.parse(token)
+          npm.config.set("_token", token, "user")
+          ini.save("user", function () {})
+        } catch (e) { token = null }
+      }
 
       npm.registry = new RegClient(
         { registry: npm.config.get("registry")
@@ -324,7 +329,7 @@ function load (npm, conf, cb) {
       // save the token cookie in the config file
       if (npm.registry.couchLogin) {
         npm.registry.couchLogin.tokenSet = function (tok) {
-          ini.set("_token", JSON.stringify(tok), "user")
+          ini.set("_token", tok, "user")
           // ignore save error.  best effort.
           ini.save("user", function () {})
         }
@@ -424,8 +429,8 @@ function setUser (cl, dc, cb) {
 
 npm.config =
   { get : function (key) { return ini.get(key) }
-  , set : function (key, val) { return ini.set(key, val, "cli") }
-  , del : function (key, val) { return ini.del(key, val, "cli") }
+  , set : function (key, val, which) { return ini.set(key, val, which) }
+  , del : function (key, val, which) { return ini.del(key, val, which) }
   }
 
 Object.defineProperty(npm, "prefix",
index aa4f431..3bbffb0 100644 (file)
@@ -163,6 +163,7 @@ function unParseField (f, k) {
       }
     }
   }
+  return (!f || typeof f !== "object") ? ini.safe(f) : f
   return ini.safe(f)
 }
 
@@ -220,7 +221,6 @@ function encryptAuth (config, cb) {
 }
 
 function parseAuth (config) {
-  //console.error("parsing config %j", config)
   if (!config._auth) return config
   var b = new Buffer(config._auth, "base64")
     , unpw = b.toString().split(":")
@@ -347,5 +347,6 @@ function set (key, value, which) {
   if (configList.length === 1) {
     return new Error("trying to set before loading")
   }
-  return configList.list[TRANS[which]][key] = value
+  configList.list[TRANS[which]][key] = value
+  return value
 }
index aa555ad..8fb8449 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM" "1" "July 2012" "" ""
+.TH "NPM" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm\fR \-\- node package manager
index e6675f0..196b1ec 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-ADDUSER" "1" "July 2012" "" ""
+.TH "NPM\-ADDUSER" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-adduser\fR \-\- Add a registry user account
index 2899b3f..c2b203f 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-BIN" "1" "July 2012" "" ""
+.TH "NPM\-BIN" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-bin\fR \-\- Display npm bin folder
index 49ea302..8fd783b 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-BUGS" "1" "July 2012" "" ""
+.TH "NPM\-BUGS" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-bugs\fR \-\- Bugs for a package in a web browser maybe
index 9540ea0..c3111bb 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-BUILD" "1" "July 2012" "" ""
+.TH "NPM\-BUILD" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-build\fR \-\- Build a package
index f70e38f..a4c4747 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-BUNDLE" "1" "July 2012" "" ""
+.TH "NPM\-BUNDLE" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-bundle\fR \-\- REMOVED
index 16cf388..b14c18b 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-CACHE" "1" "July 2012" "" ""
+.TH "NPM\-CACHE" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-cache\fR \-\- Manipulates packages cache
index 0498e7d..0fd7f53 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-CHANGELOG" "1" "July 2012" "" ""
+.TH "NPM\-CHANGELOG" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-changelog\fR \-\- Changes
index a719c0e..0be920c 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-CODING\-STYLE" "1" "July 2012" "" ""
+.TH "NPM\-CODING\-STYLE" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-coding-style\fR \-\- npm\'s "funny" coding style
index 7a4be56..6ea8e4e 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-COMPLETION" "1" "July 2012" "" ""
+.TH "NPM\-COMPLETION" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-completion\fR \-\- Tab Completion for npm
index f5e594b..a6b5011 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-CONFIG" "1" "July 2012" "" ""
+.TH "NPM\-CONFIG" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-config\fR \-\- Manage the npm configuration file
index 7e282c2..ade8450 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-DEPRECATE" "1" "July 2012" "" ""
+.TH "NPM\-DEPRECATE" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-deprecate\fR \-\- Deprecate a version of a package
index a140ced..5c53a1e 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-DEVELOPERS" "1" "July 2012" "" ""
+.TH "NPM\-DEVELOPERS" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-developers\fR \-\- Developer Guide
index 40b7e40..d69d47d 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-DISPUTES" "1" "July 2012" "" ""
+.TH "NPM\-DISPUTES" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-disputes\fR \-\- Handling Module Name Disputes
index 3bc812d..c31c0a5 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-DOCS" "1" "July 2012" "" ""
+.TH "NPM\-DOCS" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-docs\fR \-\- Docs for a package in a web browser maybe
index b6a814c..fc7757d 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-EDIT" "1" "July 2012" "" ""
+.TH "NPM\-EDIT" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-edit\fR \-\- Edit an installed package
index 8074f97..305f06a 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-EXPLORE" "1" "July 2012" "" ""
+.TH "NPM\-EXPLORE" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-explore\fR \-\- Browse an installed package
index 8468374..206a48d 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-FAQ" "1" "July 2012" "" ""
+.TH "NPM\-FAQ" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-faq\fR \-\- Frequently Asked Questions
index 4190487..f32b4af 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-FOLDERS" "1" "July 2012" "" ""
+.TH "NPM\-FOLDERS" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-folders\fR \-\- Folder Structures Used by npm
index 282cfcc..03c4d01 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-HELP\-SEARCH" "1" "July 2012" "" ""
+.TH "NPM\-HELP\-SEARCH" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-help-search\fR \-\- Search npm help documentation
index 79bfa79..e1a2e60 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-HELP" "1" "July 2012" "" ""
+.TH "NPM\-HELP" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-help\fR \-\- Get help on npm
index a74a2ac..0717dac 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-INDEX" "1" "July 2012" "" ""
+.TH "NPM\-INDEX" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-index\fR \-\- Index of all npm documentation
index 9ea7d5b..8d85557 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-INIT" "1" "July 2012" "" ""
+.TH "NPM\-INIT" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-init\fR \-\- Interactively create a package\.json file
index 37e6f9c..396ad51 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-INSTALL" "1" "July 2012" "" ""
+.TH "NPM\-INSTALL" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-install\fR \-\- Install a package
index e538f4f..a7ab18e 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-JSON" "1" "July 2012" "" ""
+.TH "NPM\-JSON" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-json\fR \-\- Specifics of npm\'s package\.json handling
index 55754ee..e6ee419 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-LINK" "1" "July 2012" "" ""
+.TH "NPM\-LINK" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-link\fR \-\- Symlink a package folder
index ce4ce78..4d4ade4 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-LS" "1" "July 2012" "" ""
+.TH "NPM\-LS" "1" "August 2012" "" ""
 .
 .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.1.45 /path/to/npm
+npm@1.1.46 /path/to/npm
 └─┬ init\-package\-json@0\.0\.4
   └── promzard@0\.1\.5
 .
index 9fa8900..f210022 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM" "1" "July 2012" "" ""
+.TH "NPM" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm\fR \-\- node package manager
@@ -14,7 +14,7 @@ npm <command> [args]
 .fi
 .
 .SH "VERSION"
-1.1.45
+1.1.46
 .
 .SH "DESCRIPTION"
 npm is the package manager for the Node JavaScript platform\.  It puts
@@ -84,7 +84,7 @@ Especially, installing other peoples code from the registry is done via \fBnpm i
 .
 .IP "\(bu" 4
 adduser:
-Create an account or log in\.  Creditials are stored in the
+Create an account or log in\.  Credentials are stored in the
 user config file\.
 .
 .IP "\(bu" 4
index fa1418d..ae93a77 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-OUTDATED" "1" "July 2012" "" ""
+.TH "NPM\-OUTDATED" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-outdated\fR \-\- Check for outdated packages
index 94a00c7..3792afb 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-OWNER" "1" "July 2012" "" ""
+.TH "NPM\-OWNER" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-owner\fR \-\- Manage package owners
index 3bb060a..812fbb2 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-PACK" "1" "July 2012" "" ""
+.TH "NPM\-PACK" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-pack\fR \-\- Create a tarball from a package
index 6447e50..a7f253b 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-PREFIX" "1" "July 2012" "" ""
+.TH "NPM\-PREFIX" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-prefix\fR \-\- Display prefix
index 02d9fc2..a8d35c0 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-PRUNE" "1" "July 2012" "" ""
+.TH "NPM\-PRUNE" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-prune\fR \-\- Remove extraneous packages
index 3c4d6c4..e73e5f7 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-PUBLISH" "1" "July 2012" "" ""
+.TH "NPM\-PUBLISH" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-publish\fR \-\- Publish a package
index 67c4852..7e5b0a6 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-REBUILD" "1" "July 2012" "" ""
+.TH "NPM\-REBUILD" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-rebuild\fR \-\- Rebuild a package
index 8b7f01e..3abf3f5 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-REGISTRY" "1" "July 2012" "" ""
+.TH "NPM\-REGISTRY" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-registry\fR \-\- The JavaScript Package Registry
index 953af3a..0ab98a3 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-REMOVAL" "1" "July 2012" "" ""
+.TH "NPM\-REMOVAL" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-removal\fR \-\- Cleaning the Slate
index 52e367e..f083744 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-RESTART" "1" "July 2012" "" ""
+.TH "NPM\-RESTART" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-restart\fR \-\- Start a package
index 076ae55..708bfbd 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-ROOT" "1" "July 2012" "" ""
+.TH "NPM\-ROOT" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-root\fR \-\- Display npm root
index 8de81c4..2f0faac 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-RUN\-SCRIPT" "1" "July 2012" "" ""
+.TH "NPM\-RUN\-SCRIPT" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-run-script\fR \-\- Run arbitrary package scripts
index 2a65902..2626530 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-SCRIPTS" "1" "July 2012" "" ""
+.TH "NPM\-SCRIPTS" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-scripts\fR \-\- How npm handles the "scripts" field
index 3a1d0fb..eb49065 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-SEARCH" "1" "July 2012" "" ""
+.TH "NPM\-SEARCH" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-search\fR \-\- Search for packages
index 3681fde..a3eebb1 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-SEMVER" "1" "July 2012" "" ""
+.TH "NPM\-SEMVER" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-semver\fR \-\- The semantic versioner for npm
index acc3701..09b1dad 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-SHRINKWRAP" "1" "July 2012" "" ""
+.TH "NPM\-SHRINKWRAP" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-shrinkwrap\fR \-\- Lock down dependency versions
index 9e19f86..420ac59 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-STAR" "1" "July 2012" "" ""
+.TH "NPM\-STAR" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-star\fR \-\- Mark your favorite packages
index a20a5a2..9b0e85f 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-START" "1" "July 2012" "" ""
+.TH "NPM\-START" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-start\fR \-\- Start a package
index c3817d9..c52c7b3 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-STOP" "1" "July 2012" "" ""
+.TH "NPM\-STOP" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-stop\fR \-\- Stop a package
index 53a40e2..518b718 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-SUBMODULE" "1" "July 2012" "" ""
+.TH "NPM\-SUBMODULE" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-submodule\fR \-\- Add a package as a git submodule
index c28fafa..93d8964 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-TAG" "1" "July 2012" "" ""
+.TH "NPM\-TAG" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-tag\fR \-\- Tag a published version
index ba8b727..efe0704 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-TEST" "1" "July 2012" "" ""
+.TH "NPM\-TEST" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-test\fR \-\- Test a package
index 877339d..a1642a4 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-RM" "1" "July 2012" "" ""
+.TH "NPM\-RM" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-rm\fR \-\- Remove a package
index d46ecaa..be907d5 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-UNPUBLISH" "1" "July 2012" "" ""
+.TH "NPM\-UNPUBLISH" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-unpublish\fR \-\- Remove a package from the registry
index 05aa82e..859baf8 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-UPDATE" "1" "July 2012" "" ""
+.TH "NPM\-UPDATE" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-update\fR \-\- Update a package
index 757f661..7501435 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-VERSION" "1" "July 2012" "" ""
+.TH "NPM\-VERSION" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-version\fR \-\- Bump a package version
index 96a65ae..fa7c14c 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-VIEW" "1" "July 2012" "" ""
+.TH "NPM\-VIEW" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-view\fR \-\- View registry info
index 0ebd7a6..372c9f2 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-WHOAMI" "1" "July 2012" "" ""
+.TH "NPM\-WHOAMI" "1" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-whoami\fR \-\- Display npm username
index 065b38d..f1ba921 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-BIN" "3" "July 2012" "" ""
+.TH "NPM\-BIN" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-bin\fR \-\- Display npm bin folder
index 4b5cce0..fedf424 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-BUGS" "3" "July 2012" "" ""
+.TH "NPM\-BUGS" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-bugs\fR \-\- Bugs for a package in a web browser maybe
index de5d74e..eadf467 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-COMMANDS" "3" "July 2012" "" ""
+.TH "NPM\-COMMANDS" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-commands\fR \-\- npm commands
index 2668786..3575ebd 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-CONFIG" "3" "July 2012" "" ""
+.TH "NPM\-CONFIG" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-config\fR \-\- Manage the npm configuration files
index eb463ca..43d88c2 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-DEPRECATE" "3" "July 2012" "" ""
+.TH "NPM\-DEPRECATE" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-deprecate\fR \-\- Deprecate a version of a package
index ebfd78f..4ba15ac 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-DOCS" "3" "July 2012" "" ""
+.TH "NPM\-DOCS" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-docs\fR \-\- Docs for a package in a web browser maybe
index 5a086c5..ba028bd 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-EDIT" "3" "July 2012" "" ""
+.TH "NPM\-EDIT" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-edit\fR \-\- Edit an installed package
index 79c234d..756fde9 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-EXPLORE" "3" "July 2012" "" ""
+.TH "NPM\-EXPLORE" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-explore\fR \-\- Browse an installed package
index 3f7aea1..b7fe3c3 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-HELP\-SEARCH" "3" "July 2012" "" ""
+.TH "NPM\-HELP\-SEARCH" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-help-search\fR \-\- Search the help pages
index 0a69622..c136aa7 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "INIT" "3" "July 2012" "" ""
+.TH "INIT" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBinit\fR \-\- Interactively create a package\.json file
index 28c5dc3..fa7ce0d 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-INSTALL" "3" "July 2012" "" ""
+.TH "NPM\-INSTALL" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-install\fR \-\- install a package programmatically
index 37c0394..38e2020 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-LINK" "3" "July 2012" "" ""
+.TH "NPM\-LINK" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-link\fR \-\- Symlink a package folder
index 88d10b6..574dd2e 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-LOAD" "3" "July 2012" "" ""
+.TH "NPM\-LOAD" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-load\fR \-\- Load config settings
index 90be356..6a9a08f 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-LS" "3" "July 2012" "" ""
+.TH "NPM\-LS" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-ls\fR \-\- List installed packages
index 7e8afc4..e77001e 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM" "3" "July 2012" "" ""
+.TH "NPM" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm\fR \-\- node package manager
@@ -21,7 +21,7 @@ npm\.load(configObject, function (er, npm) {
 .fi
 .
 .SH "VERSION"
-1.1.45
+1.1.46
 .
 .SH "DESCRIPTION"
 This is the API documentation for npm\.
index 77c8790..663e082 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-OUTDATED" "3" "July 2012" "" ""
+.TH "NPM\-OUTDATED" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-outdated\fR \-\- Check for outdated packages
index c76cab5..960cc1c 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-OWNER" "3" "July 2012" "" ""
+.TH "NPM\-OWNER" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-owner\fR \-\- Manage package owners
index e399426..be71eff 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-PACK" "3" "July 2012" "" ""
+.TH "NPM\-PACK" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-pack\fR \-\- Create a tarball from a package
index cbc7fab..3345045 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-PREFIX" "3" "July 2012" "" ""
+.TH "NPM\-PREFIX" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-prefix\fR \-\- Display prefix
index fc63c56..bb656f4 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-PRUNE" "3" "July 2012" "" ""
+.TH "NPM\-PRUNE" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-prune\fR \-\- Remove extraneous packages
index 2155b12..302b0b7 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-PUBLISH" "3" "July 2012" "" ""
+.TH "NPM\-PUBLISH" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-publish\fR \-\- Publish a package
index 694421d..4cdefb0 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-REBUILD" "3" "July 2012" "" ""
+.TH "NPM\-REBUILD" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-rebuild\fR \-\- Rebuild a package
index deabef9..c6e4309 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-RESTART" "3" "July 2012" "" ""
+.TH "NPM\-RESTART" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-restart\fR \-\- Start a package
index 3f1ac42..f775441 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-ROOT" "3" "July 2012" "" ""
+.TH "NPM\-ROOT" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-root\fR \-\- Display npm root
index f840f6f..62d425c 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-RUN\-SCRIPT" "3" "July 2012" "" ""
+.TH "NPM\-RUN\-SCRIPT" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-run-script\fR \-\- Run arbitrary package scripts
index e34bbf9..18006a5 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-SEARCH" "3" "July 2012" "" ""
+.TH "NPM\-SEARCH" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-search\fR \-\- Search for packages
index f77fbdb..018ebeb 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-SHRINKWRAP" "3" "July 2012" "" ""
+.TH "NPM\-SHRINKWRAP" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-shrinkwrap\fR \-\- programmatically generate package shrinkwrap file
index 8dbd405..c5ac3a6 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-START" "3" "July 2012" "" ""
+.TH "NPM\-START" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-start\fR \-\- Start a package
index 350cace..dece11a 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-STOP" "3" "July 2012" "" ""
+.TH "NPM\-STOP" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-stop\fR \-\- Stop a package
index 7b4586b..4e5d0e9 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-SUBMODULE" "3" "July 2012" "" ""
+.TH "NPM\-SUBMODULE" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-submodule\fR \-\- Add a package as a git submodule
index ce8eede..e62c03a 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-TAG" "3" "July 2012" "" ""
+.TH "NPM\-TAG" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-tag\fR \-\- Tag a published version
index 1eb0fda..7342c5f 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-TEST" "3" "July 2012" "" ""
+.TH "NPM\-TEST" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-test\fR \-\- Test a package
index 05560f7..cf0b15b 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-UNINSTALL" "3" "July 2012" "" ""
+.TH "NPM\-UNINSTALL" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-uninstall\fR \-\- uninstall a package programmatically
index 9f4fc81..55ebc7f 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-UNPUBLISH" "3" "July 2012" "" ""
+.TH "NPM\-UNPUBLISH" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-unpublish\fR \-\- Remove a package from the registry
index 6cf91d9..7ad6eb9 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-UPDATE" "3" "July 2012" "" ""
+.TH "NPM\-UPDATE" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-update\fR \-\- Update a package
index 4c48c46..12cd7da 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-VERSION" "3" "July 2012" "" ""
+.TH "NPM\-VERSION" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-version\fR \-\- Bump a package version
index 9e95507..39503bd 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-VIEW" "3" "July 2012" "" ""
+.TH "NPM\-VIEW" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-view\fR \-\- View registry info
index 0254a28..b9dd96f 100644 (file)
@@ -1,7 +1,7 @@
 .\" Generated with Ronnjs/v0.1
 .\" http://github.com/kapouer/ronnjs/
 .
-.TH "NPM\-WHOAMI" "3" "July 2012" "" ""
+.TH "NPM\-WHOAMI" "3" "August 2012" "" ""
 .
 .SH "NAME"
 \fBnpm-whoami\fR \-\- Display npm username
similarity index 50%
rename from deps/npm/node_modules/glob/LICENCE
rename to deps/npm/node_modules/glob/LICENSE
index 74489e2..0c44ae7 100644 (file)
@@ -1,4 +1,4 @@
-Copyright (c) Isaac Z. Schlueter
+Copyright (c) Isaac Z. Schlueter ("Author")
 All rights reserved.
 
 The BSD License
@@ -6,20 +6,22 @@ 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
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
 BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
+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 0e71358..6285962 100644 (file)
@@ -44,7 +44,6 @@ var fs = require("graceful-fs")
 , path = require("path")
 , isDir = {}
 , assert = require("assert").ok
-, EOF = {}
 
 function glob (pattern, options, cb) {
   if (typeof options === "function") cb = options, options = {}
@@ -95,6 +94,9 @@ function Glob (pattern, options, cb) {
 
   options = options || {}
 
+  this.EOF = {}
+  this._emitQueue = []
+
   this.maxDepth = options.maxDepth || 1000
   this.maxLength = options.maxLength || Infinity
   this.statCache = options.statCache || {}
@@ -211,8 +213,8 @@ Glob.prototype._finish = function () {
 
   if (this.debug) console.error("emitting end", all)
 
-  EOF = this.found = all
-  this.emitMatch(EOF)
+  this.EOF = this.found = all
+  this.emitMatch(this.EOF)
 }
 
 function alphasorti (a, b) {
@@ -244,32 +246,31 @@ Glob.prototype.resume = function () {
     this.emit("error", new Error("Can't pause/resume sync glob"))
   this.paused = false
   this.emit("resume")
+  this._processEmitQueue()
+  //process.nextTick(this.emit.bind(this, "resume"))
 }
 
-
 Glob.prototype.emitMatch = function (m) {
-  if (!this.paused) {
-    this.emit(m === EOF ? "end" : "match", m)
-    return
-  }
-
-  if (!this._emitQueue) {
-    this._emitQueue = []
-    this.once("resume", function () {
-      var q = this._emitQueue
-      this._emitQueue = null
-      q.forEach(function (m) {
-        this.emitMatch(m)
-      }, this)
-    })
-  }
-
   this._emitQueue.push(m)
-
-  //this.once("resume", this.emitMatch.bind(this, m))
+  this._processEmitQueue()
 }
 
-
+Glob.prototype._processEmitQueue = function (m) {
+  while (!this._processingEmitQueue &&
+         !this.paused) {
+    this._processingEmitQueue = true
+    var m = this._emitQueue.shift()
+    if (!m) {
+      this._processingEmitQueue = false
+      break
+    }
+    if (this.debug) {
+      console.error('emit!', m === this.EOF ? "end" : "match")
+    }
+    this.emit(m === this.EOF ? "end" : "match", m)
+    this._processingEmitQueue = false
+  }
+}
 
 Glob.prototype._process = function (pattern, depth, index, cb_) {
   assert(this instanceof Glob)
index 3531e74..e7415c2 100644 (file)
@@ -6,7 +6,7 @@
   },
   "name": "glob",
   "description": "a little globber",
-  "version": "3.1.10",
+  "version": "3.1.11",
   "repository": {
     "type": "git",
     "url": "git://github.com/isaacs/node-glob.git"
@@ -30,6 +30,6 @@
   },
   "license": "BSD",
   "readme": "# Glob\n\nThis is a glob implementation in JavaScript.  It uses the `minimatch`\nlibrary to do its matching.\n\n## Attention: node-glob users!\n\nThe API has changed dramatically between 2.x and 3.x. This library is\nnow 100% JavaScript, and the integer flags have been replaced with an\noptions object.\n\nAlso, there's an event emitter class, proper tests, and all the other\nthings you've come to expect from node modules.\n\nAnd best of all, no compilation!\n\n## Usage\n\n```javascript\nvar glob = require(\"glob\")\n\n// options is optional\nglob(\"**/*.js\", options, function (er, files) {\n  // files is an array of filenames.\n  // If the `nonull` option is set, and nothing\n  // was found, then files is [\"**/*.js\"]\n  // er is an error object or null.\n})\n```\n\n## Features\n\nPlease see the [minimatch\ndocumentation](https://github.com/isaacs/minimatch) for more details.\n\nSupports these glob features:\n\n* Brace Expansion\n* Extended glob matching\n* \"Globstar\" `**` matching\n\nSee:\n\n* `man sh`\n* `man bash`\n* `man 3 fnmatch`\n* `man 5 gitignore`\n* [minimatch documentation](https://github.com/isaacs/minimatch)\n\n## glob(pattern, [options], cb)\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* `cb` {Function}\n  * `err` {Error | null}\n  * `matches` {Array<String>} filenames found matching the pattern\n\nPerform an asynchronous glob search.\n\n## glob.sync(pattern, [options]\n\n* `pattern` {String} Pattern to be matched\n* `options` {Object}\n* return: {Array<String>} filenames found matching the pattern\n\nPerform a synchronous glob search.\n\n## Class: glob.Glob\n\nCreate a Glob object by instanting the `glob.Glob` class.\n\n```javascript\nvar Glob = require(\"glob\").Glob\nvar mg = new Glob(pattern, options, cb)\n```\n\nIt's an EventEmitter, and starts walking the filesystem to find matches\nimmediately.\n\n### new glob.Glob(pattern, [options], [cb])\n\n* `pattern` {String} pattern to search for\n* `options` {Object}\n* `cb` {Function} Called when an error occurs, or matches are found\n  * `err` {Error | null}\n  * `matches` {Array<String>} filenames found matching the pattern\n\nNote that if the `sync` flag is set in the options, then matches will\nbe immediately available on the `g.found` member.\n\n### Properties\n\n* `minimatch` The minimatch object that the glob uses.\n* `options` The options object passed in.\n* `error` The error encountered.  When an error is encountered, the\n  glob object is in an undefined state, and should be discarded.\n* `aborted` Boolean which is set to true when calling `abort()`.  There\n  is no way at this time to continue a glob search after aborting, but\n  you can re-use the statCache to avoid having to duplicate syscalls.\n\n### Events\n\n* `end` When the matching is finished, this is emitted with all the\n  matches found.  If the `nonull` option is set, and no match was found,\n  then the `matches` list contains the original pattern.  The matches\n  are sorted, unless the `nosort` flag is set.\n* `match` Every time a match is found, this is emitted with the matched.\n* `error` Emitted when an unexpected error is encountered, or whenever\n  any fs error occurs if `options.strict` is set.\n* `abort` When `abort()` is called, this event is raised.\n\n### Methods\n\n* `abort` Stop the search.\n\n### Options\n\nAll the options that can be passed to Minimatch can also be passed to\nGlob to change pattern matching behavior.  Also, some have been added,\nor have glob-specific ramifications.\n\nAll options are false by default, unless otherwise noted.\n\nAll options are added to the glob object, as well.\n\n* `cwd` The current working directory in which to search.  Defaults\n  to `process.cwd()`.\n* `root` The place where patterns starting with `/` will be mounted\n  onto.  Defaults to `path.resolve(options.cwd, \"/\")` (`/` on Unix\n  systems, and `C:\\` or some such on Windows.)\n* `nomount` By default, a pattern starting with a forward-slash will be\n  \"mounted\" onto the root setting, so that a valid filesystem path is\n  returned.  Set this flag to disable that behavior.\n* `mark` Add a `/` character to directory matches.  Note that this\n  requires additional stat calls.\n* `nosort` Don't sort the results.\n* `stat` Set to true to stat *all* results.  This reduces performance\n  somewhat, and is completely unnecessary, unless `readdir` is presumed\n  to be an untrustworthy indicator of file existence.  It will cause\n  ELOOP to be triggered one level sooner in the case of cyclical\n  symbolic links.\n* `silent` When an unusual error is encountered\n  when attempting to read a directory, a warning will be printed to\n  stderr.  Set the `silent` option to true to suppress these warnings.\n* `strict` When an unusual error is encountered\n  when attempting to read a directory, the process will just continue on\n  in search of other matches.  Set the `strict` option to raise an error\n  in these cases.\n* `statCache` A cache of results of filesystem information, to prevent\n  unnecessary stat calls.  While it should not normally be necessary to\n  set this, you may pass the statCache from one glob() call to the\n  options object of another, if you know that the filesystem will not\n  change between calls.  (See \"Race Conditions\" below.)\n* `sync` Perform a synchronous glob search.\n* `nounique` In some cases, brace-expanded patterns can result in the\n  same file showing up multiple times in the result set.  By default,\n  this implementation prevents duplicates in the result set.\n  Set this flag to disable that behavior.\n* `nonull` Set to never return an empty set, instead returning a set\n  containing the pattern itself.  This is the default in glob(3).\n* `nocase` Perform a case-insensitive match.  Note that case-insensitive\n  filesystems will sometimes result in glob returning results that are\n  case-insensitively matched anyway, since readdir and stat will not\n  raise an error.\n* `debug` Set to enable debug logging in minimatch and glob.\n* `globDebug` Set to enable debug logging in glob, but not minimatch.\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a worthwhile\ngoal, some discrepancies exist between node-glob and other\nimplementations, and are intentional.\n\nIf the pattern starts with a `!` character, then it is negated.  Set the\n`nonegate` flag to suppress this behavior, and treat leading `!`\ncharacters normally.  This is perhaps relevant if you wish to start the\npattern with a negative extglob pattern like `!(a|B)`.  Multiple `!`\ncharacters at the start of a pattern will negate the pattern multiple\ntimes.\n\nIf a pattern starts with `#`, then it is treated as a comment, and\nwill not match anything.  Use `\\#` to match a literal `#` at the\nstart of a line, or set the `nocomment` flag to suppress this behavior.\n\nThe double-star character `**` is supported by default, unless the\n`noglobstar` flag is set.  This is supported in the manner of bsdglob\nand bash 4.1, where `**` only has special significance if it is the only\nthing in a path part.  That is, `a/**/b` will match `a/x/y/b`, but\n`a/**b` will not.  **Note that this is different from the way that `**` is\nhandled by ruby's `Dir` class.**\n\nIf an escaped pattern has no matches, and the `nonull` flag is set,\nthen glob returns the pattern as-provided, rather than\ninterpreting the character escapes.  For example,\n`glob.match([], \"\\\\*a\\\\?\")` will return `\"\\\\*a\\\\?\"` rather than\n`\"*a?\"`.  This is akin to setting the `nullglob` option in bash, except\nthat it does not resolve escaped pattern characters.\n\nIf brace expansion is not disabled, then it is performed before any\nother interpretation of the glob pattern.  Thus, a pattern like\n`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded\n**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are\nchecked for validity.  Since those two are valid, matching proceeds.\n\n## Windows\n\n**Please only use forward-slashes in glob expressions.**\n\nThough windows uses either `/` or `\\` as its path separator, only `/`\ncharacters are used by this glob implementation.  You must use\nforward-slashes **only** in glob expressions.  Back-slashes will always\nbe interpreted as escape characters, not path separators.\n\nResults from absolute patterns such as `/foo/*` are mounted onto the\nroot setting using `path.join`.  On windows, this will by default result\nin `/foo/*` matching `C:\\foo\\bar.txt`.\n\n## Race Conditions\n\nGlob searching, by its very nature, is susceptible to race conditions,\nsince it relies on directory walking and such.\n\nAs a result, it is possible that a file that exists when glob looks for\nit may have been deleted or modified by the time it returns the result.\n\nAs part of its internal implementation, this program caches all stat\nand readdir calls that it makes, in order to cut down on system\noverhead.  However, this also makes it even more susceptible to races,\nespecially if the statCache object is reused between glob calls.\n\nUsers are thus advised not to use a glob result as a\nguarantee of filesystem state in the face of rapid changes.\nFor the vast majority of operations, this is never a problem.\n",
-  "_id": "glob@3.1.10",
+  "_id": "glob@3.1.11",
   "_from": "glob@~3.1.9"
 }
index fbadc31..a052ae8 100644 (file)
@@ -5,8 +5,7 @@ var tap = require("tap")
 
 // put more patterns here.
 , globs =
-  [
-  "test/a/*/+(c|g)/./d"
+  ["test/a/*/+(c|g)/./d"
   ,"test/a/**/[cg]/../[cg]"
   ,"test/a/{b,c,d,e,f}/**/g"
   ,"test/a/b/**"
@@ -53,7 +52,7 @@ globs.forEach(function (pattern) {
     cp.stderr.on("data", function (c) {
       process.stderr.write(c)
     })
-    cp.stdout.on("close", function () {
+    cp.on("close", function () {
       echoOutput = flatten(out)
       if (!echoOutput) echoOutput = []
       else {
index 481d1aa..c848ed2 100644 (file)
@@ -2,7 +2,7 @@
 var tap = require("tap")
 , child_process = require("child_process")
 // just some gnarly pattern with lots of matches
-, pattern = "test/a/symlink/a/b/c/a/b/c/a/b/c//a/b/c////a/b/c/**/b/c/**"
+, pattern = "test/a/!(symlink)/**"
 , glob = require("../")
 , Glob = glob.Glob
 , path = require("path")
@@ -57,7 +57,7 @@ tap.test("get bash output", function (t) {
   cp.stderr.on("data", function (c) {
     process.stderr.write(c)
   })
-  cp.stdout.on("close", function () {
+  cp.on("close", function () {
     bashResults = flatten(out)
     if (!bashResults) return t.fail("Didn't get results from bash")
     else {
@@ -74,12 +74,20 @@ tap.test("use a Glob object, and pause/resume it", function (t) {
   , paused = false
   , res = []
 
+  g.on("pause", function () {
+    console.error("pause")
+  })
+
+  g.on("resume", function () {
+    console.error("resume")
+  })
+
   g.on("match", function (m) {
     t.notOk(g.paused, "must not be paused")
     globResults.push(m)
     g.pause()
     t.ok(g.paused, "must be paused")
-    setTimeout(g.resume.bind(g), 1)
+    setTimeout(g.resume.bind(g), 10)
   })
 
   g.on("end", function (matches) {
index 856fc66..5d136c2 100644 (file)
@@ -7,12 +7,10 @@ var fs = require("fs")
 if (fs.open === gracefulOpen) return
 
 var queue = []
-  , curOpen = 0
   , constants = require("constants")
 
-
 exports = module.exports = fs
-
+fs._curOpen = 0
 
 fs.MIN_MAX_OPEN = 64
 fs.MAX_OPEN = 1024
@@ -39,17 +37,17 @@ function gracefulOpen (path, flags, mode, cb) {
   if (typeof mode === "function") cb = mode, mode = null
   if (typeof cb !== "function") cb = noop
 
-  if (curOpen >= fs.MAX_OPEN) {
+  if (fs._curOpen >= fs.MAX_OPEN) {
     queue.push(new OpenReq(path, flags, mode, cb))
     setTimeout(flush)
     return
   }
   open(path, flags, mode, function (er, fd) {
-    if (er && er.code === "EMFILE" && curOpen > fs.MIN_MAX_OPEN) {
+    if (er && er.code === "EMFILE" && fs._curOpen > fs.MIN_MAX_OPEN) {
       // that was too many.  reduce max, get back in queue.
       // this should only happen once in a great while, and only
       // if the ulimit -n is set lower than 1024.
-      fs.MAX_OPEN = curOpen - 1
+      fs.MAX_OPEN = fs._curOpen - 1
       return fs.open(path, flags, mode, cb)
     }
     cb(er, fd)
@@ -58,33 +56,33 @@ function gracefulOpen (path, flags, mode, cb) {
 
 function open (path, flags, mode, cb) {
   cb = cb || noop
-  curOpen ++
+  fs._curOpen ++
   originalOpen.call(fs, path, flags, mode, function (er, fd) {
-    if (er) {
-      onclose()
-    }
-
+    if (er) onclose()
     cb(er, fd)
   })
 }
 
 fs.openSync = function (path, flags, mode) {
-  curOpen ++
-  return originalOpenSync.call(fs, path, flags, mode)
+  var ret
+  try {
+    ret = originalOpenSync.call(fs, path, flags, mode)
+    fs._curOpen ++
+  } finally {}
+  return ret
 }
 
 function onclose () {
-  curOpen --
+  fs._curOpen --
   flush()
 }
 
 function flush () {
-  while (curOpen < fs.MAX_OPEN) {
+  while (fs._curOpen < fs.MAX_OPEN) {
     var req = queue.shift()
-    if (!req) break
+    if (!req) return
     open(req.path, req.flags || "r", req.mode || 0777, req.cb)
   }
-  if (queue.length === 0) return
 }
 
 fs.close = function (fd, cb) {
index fe4de9e..4f51362 100644 (file)
@@ -6,7 +6,7 @@
   },
   "name": "graceful-fs",
   "description": "fs monkey-patching to avoid EMFILE and other problems",
-  "version": "1.1.9",
+  "version": "1.1.10",
   "repository": {
     "type": "git",
     "url": "git://github.com/isaacs/node-graceful-fs.git"
     "node": ">=0.4.0"
   },
   "devDependencies": {},
+  "directories": {
+    "test": "test"
+  },
+  "dependencies": {},
+  "scripts": {
+    "test": "tap test/*.js"
+  },
+  "keywords": [
+    "fs",
+    "EMFILE",
+    "error",
+    "handling",
+    "monkeypatch"
+  ],
+  "license": "BSD",
   "readme": "Just like node's `fs` module, but it does an incremental back-off when\nEMFILE is encountered.\n\nUseful in asynchronous situations where one needs to try to open lots\nand lots of files.\n",
-  "_id": "graceful-fs@1.1.9",
+  "_id": "graceful-fs@1.1.10",
   "_from": "graceful-fs@~1.1.1"
 }
diff --git a/deps/npm/node_modules/graceful-fs/test/open.js b/deps/npm/node_modules/graceful-fs/test/open.js
new file mode 100644 (file)
index 0000000..d05f880
--- /dev/null
@@ -0,0 +1,41 @@
+var test = require('tap').test
+var fs = require('../graceful-fs.js')
+
+test('open an existing file works', function (t) {
+  var start = fs._curOpen
+  var fd = fs.openSync(__filename, 'r')
+  t.equal(fs._curOpen, start + 1)
+  fs.closeSync(fd)
+  t.equal(fs._curOpen, start)
+  fs.open(__filename, 'r', function (er, fd) {
+    if (er) throw er
+    t.equal(fs._curOpen, start + 1)
+    fs.close(fd, function (er) {
+      if (er) throw er
+      t.equal(fs._curOpen, start)
+      t.end()
+    })
+  })
+})
+
+test('open a non-existing file throws', function (t) {
+  var start = fs._curOpen
+  var er
+  try {
+    var fd = fs.openSync('this file does not exist', 'r')
+  } catch (x) {
+    er = x
+  }
+  t.ok(er, 'should throw')
+  t.notOk(fd, 'should not get an fd')
+  t.equal(er.code, 'ENOENT')
+  t.equal(fs._curOpen, start)
+
+  fs.open('neither does this file', 'r', function (er, fd) {
+    t.ok(er, 'should throw')
+    t.notOk(fd, 'should not get an fd')
+    t.equal(er.code, 'ENOENT')
+    t.equal(fs._curOpen, start)
+    t.end()
+  })
+})
index d8e2061..82f1a66 100644 (file)
@@ -3,3 +3,5 @@ Isaac Z. Schlueter <i@izs.me>
 Carlos Brito Lage <carlos@carloslage.net>
 Marko Mikulicic <marko.mikulicic@isti.cnr.it>
 Trent Mick <trentm@gmail.com>
+Kevin O'Hara <kevinohara80@gmail.com>
+Marco Rogers <marco.rogers@gmail.com>
index f342b51..7033fea 100644 (file)
@@ -6,12 +6,19 @@ Usage:
 
     var LRU = require("lru-cache")
       , cache = LRU(10, // max length. default = Infinity
+
                     // calculate how "big" each item is
                     //
                     // defaults to function(){return 1}, ie, just limit
                     // the item count, without any knowledge as to their
                     // relative size.
-                    function (item) { return item.length })
+                    function (item) { return item.length },
+
+                    // maxAge in ms
+                    // defaults to infinite
+                    // items are not pre-emptively pruned, but they
+                    // are deleted when fetched if they're too old.
+                    1000 * 60)
 
     cache.set("key", "value")
     cache.get("key") // "value"
index 1bd4e58..407ee68 100644 (file)
@@ -4,7 +4,7 @@ if (module) {
   module.exports = LRUCache
 } else {
   // just set the global for non-node platforms.
-  ;(function () { return this })().LRUCache = LRUCache
+  this.LRUCache = LRUCache
 }
 
 function hOP (obj, key) {
@@ -13,7 +13,7 @@ function hOP (obj, key) {
 
 function naiveLength () { return 1 }
 
-function LRUCache (maxLength, lengthCalculator) {
+function LRUCache (maxLength, lengthCalculator, maxAge) {
   if (!(this instanceof LRUCache)) {
     return new LRUCache(maxLength, lengthCalculator)
   }
@@ -101,24 +101,30 @@ function LRUCache (maxLength, lengthCalculator) {
     if (hOP(cache, key)) {
       this.get(key)
       cache[key].value = value
-      return
+      return true
     }
 
     var hit = {key:key, value:value, lu:mru++, length:lengthCalculator(value)}
+    if (maxAge) hit.now = Date.now()
 
     // oversized objects fall out of cache automatically.
-    if (hit.length > maxLength) return
+    if (hit.length > maxLength) return false
 
     length += hit.length
     lruList[hit.lu] = cache[key] = hit
     itemCount ++
 
     if (length > maxLength) trim()
+    return true
   }
 
   this.get = function (key) {
     if (!hOP(cache, key)) return
     var hit = cache[key]
+    if (maxAge && Date.now() - hit.now > maxAge) {
+      this.del(key)
+      return
+    }
     delete lruList[hit.lu]
     if (hit.lu === lru) lruWalk()
     hit.lu = mru ++
@@ -149,6 +155,7 @@ function LRUCache (maxLength, lengthCalculator) {
       delete cache[ lruList[prune[i]].key ]
       delete lruList[prune[i]]
     }
+
     lruWalk()
   }
 }
index 7240c92..73c011b 100644 (file)
@@ -1,7 +1,7 @@
 {
   "name": "lru-cache",
   "description": "A cache object that deletes the least-recently-used items.",
-  "version": "1.1.0",
+  "version": "1.1.1",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me"
     "type": "MIT",
     "url": "http://github.com/isaacs/node-lru-cache/raw/master/LICENSE"
   },
-  "_npmUser": {
-    "name": "isaacs",
-    "email": "i@izs.me"
-  },
-  "_id": "lru-cache@1.1.0",
   "contributors": [
     {
       "name": "Isaac Z. Schlueter",
     {
       "name": "Trent Mick",
       "email": "trentm@gmail.com"
+    },
+    {
+      "name": "Kevin O'Hara",
+      "email": "kevinohara80@gmail.com"
+    },
+    {
+      "name": "Marco Rogers",
+      "email": "marco.rogers@gmail.com"
     }
   ],
-  "dependencies": {},
-  "optionalDependencies": {},
-  "engines": {
-    "node": "*"
-  },
-  "_engineSupported": true,
-  "_npmVersion": "1.1.25",
-  "_nodeVersion": "v0.7.10-pre",
-  "_defaultsLoaded": true,
-  "_from": "lru-cache@1"
+  "readme": "# lru cache\n\nA cache object that deletes the least-recently-used items.\n\nUsage:\n\n    var LRU = require(\"lru-cache\")\n      , cache = LRU(10, // max length. default = Infinity\n\n                    // calculate how \"big\" each item is\n                    //\n                    // defaults to function(){return 1}, ie, just limit\n                    // the item count, without any knowledge as to their\n                    // relative size.\n                    function (item) { return item.length },\n\n                    // maxAge in ms\n                    // defaults to infinite\n                    // items are not pre-emptively pruned, but they\n                    // are deleted when fetched if they're too old.\n                    1000 * 60)\n\n    cache.set(\"key\", \"value\")\n    cache.get(\"key\") // \"value\"\n\n    cache.reset()    // empty the cache\n\nIf you put more stuff in it, then items will fall out.\n\nIf you try to put an oversized thing in it, then it'll fall out right\naway.\n\nRTFS for more info.\n",
+  "_id": "lru-cache@1.1.1",
+  "_from": "lru-cache@~1.1.0"
 }
index 6af0edf..c5b25de 100644 (file)
@@ -169,3 +169,42 @@ test("lru recently gotten with weighed length", function (t) {
   t.equal(cache.get("a"), "A")
   t.end()
 })
+
+test("set returns proper booleans", function(t) {
+  var cache = new LRU(5, function (item) { return item.length })
+  t.equal(cache.set("a", "A"), true)
+
+  // should return false for maxLength exceeded
+  t.equal(cache.set("b", "donuts"), false)
+
+  t.equal(cache.set("b", "B"), true)
+  t.equal(cache.set("c", "CCCC"), true)
+  t.end()
+})
+
+test("drop the old items", function(t) {
+  var cache = new LRU(5, null, 50)
+
+  cache.set("a", "A")
+
+  setTimeout(function () {
+    cache.set("b", "b")
+    t.equal(cache.get("a"), "A")
+  }, 25)
+
+  setTimeout(function () {
+    cache.set("c", "C")
+    // timed out
+    t.notOk(cache.get("a"))
+  }, 51)
+
+  setTimeout(function () {
+    t.notOk(cache.get("b"))
+    t.equal(cache.get("c"), "C")
+  }, 90)
+
+  setTimeout(function () {
+    t.notOk(cache.get("c"))
+    t.end()
+  }, 155)
+})
diff --git a/deps/npm/node_modules/mkdirp/.gitignore.orig b/deps/npm/node_modules/mkdirp/.gitignore.orig
new file mode 100644 (file)
index 0000000..9303c34
--- /dev/null
@@ -0,0 +1,2 @@
+node_modules/
+npm-debug.log
\ No newline at end of file
diff --git a/deps/npm/node_modules/mkdirp/.gitignore.rej b/deps/npm/node_modules/mkdirp/.gitignore.rej
new file mode 100644 (file)
index 0000000..69244ff
--- /dev/null
@@ -0,0 +1,5 @@
+--- /dev/null
++++ .gitignore
+@@ -0,0 +1,2 @@
++node_modules/
++npm-debug.log
\ No newline at end of file
diff --git a/deps/npm/node_modules/mkdirp/examples/pow.js.orig b/deps/npm/node_modules/mkdirp/examples/pow.js.orig
new file mode 100644 (file)
index 0000000..7741462
--- /dev/null
@@ -0,0 +1,6 @@
+var mkdirp = require('mkdirp');
+
+mkdirp('/tmp/foo/bar/baz', 0755, function (err) {
+    if (err) console.error(err)
+    else console.log('pow!')
+});
diff --git a/deps/npm/node_modules/mkdirp/examples/pow.js.rej b/deps/npm/node_modules/mkdirp/examples/pow.js.rej
new file mode 100644 (file)
index 0000000..81e7f43
--- /dev/null
@@ -0,0 +1,19 @@
+--- examples/pow.js
++++ examples/pow.js
+@@ -1,6 +1,15 @@
+-var mkdirp = require('mkdirp').mkdirp;
++var mkdirp = require('../').mkdirp,
++    mkdirpSync = require('../').mkdirpSync;
+ mkdirp('/tmp/foo/bar/baz', 0755, function (err) {
+     if (err) console.error(err)
+     else console.log('pow!')
+ });
++
++try {
++  mkdirpSync('/tmp/bar/foo/baz', 0755);
++  console.log('double pow!');
++}
++catch (ex) {
++  console.log(ex);
++}
\ No newline at end of file
index d16a44a..55fa08f 100755 (executable)
@@ -22,7 +22,12 @@ var completed = false
 prog.parseArgv(process.argv)
 
 if (prog.todo.length === 0) {
-  return prog.usageAndExit()
+  if (~process.argv.indexOf('-v') || ~process.argv.indexOf('--version')) {
+    console.log('v%s', prog.version)
+  } else {
+    console.log('%s', prog.usage())
+  }
+  return process.exit(0)
 }
 
 log.info('it worked if it ends with', 'ok')
index 3dbd418..fcd8d71 100644 (file)
@@ -9,11 +9,15 @@ var fs = require('graceful-fs')
   , path = require('path')
   , glob = require('glob')
   , log = require('npmlog')
+  , osenv = require('osenv')
   , which = require('which')
   , semver = require('semver')
   , mkdirp = require('mkdirp')
   , exec = require('child_process').exec
+  , spawn = require('child_process').spawn
   , win = process.platform == 'win32'
+  , hasVCExpress = false
+  , hasWin71SDK = false
 
 exports.usage = 'Generates ' + (win ? 'MSVC project files' : 'a Makefile') + ' for the current module'
 
@@ -24,7 +28,18 @@ function configure (gyp, argv, callback) {
     , configPath
     , nodeDir
 
-  checkPython()
+  if (win) {
+    checkVCExpress(function () {
+      if (hasVCExpress) {
+        checkWin71SDK(function () {
+          checkPython()
+        })
+      } else {
+        checkPython()
+      }
+    })
+  } else
+    checkPython()
 
   // Make sure that Python is in the $PATH
   function checkPython () {
@@ -72,7 +87,7 @@ function configure (gyp, argv, callback) {
       if (err) {
         return callback(err)
       }
-      log.verbose('check python version', '`python --version` returned: %j', stderr)
+      log.verbose('check python version', '`%s --version` returned: %j', python, stderr)
       var version = stderr.trim().replace(/[^\d\.]+/g, '')
       var numDots = 0
       version.replace(/\./g, function () {
@@ -102,6 +117,33 @@ function configure (gyp, argv, callback) {
           + 'You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0.'))
   }
 
+  function checkWin71SDK(cb) {
+    spawn('reg', ['query', 'HKLM\\Software\\Microsoft\\Microsoft SDKs\\Windows\\v7.1', '/v', 'InstallationFolder'])
+         .on('exit', function (code) {
+           hasWin71SDK = (code === 0)
+           cb()
+         })
+  }
+
+  function checkVCExpress64(cb) {
+    var cp = spawn('cmd', ['/C', '%WINDIR%\\SysWOW64\\reg', 'query', 'HKLM\\Software\\Microsoft\\VCExpress\\10.0\\Setup\\VC', '/v', 'ProductDir'])
+    cp.on('exit', function (code) {
+      hasVCExpress = (code === 0)
+      cb()
+    })
+  }
+
+  function checkVCExpress(cb) {
+    spawn('reg', ['query', 'HKLM\\Software\\Microsoft\\VCExpress\\10.0\\Setup\\VC', '/v', 'ProductDir'])
+         .on('exit', function (code) {
+           if (code !== 0) {
+             checkVCExpress64(cb)
+           } else {
+             cb()
+           }
+         })
+  }
+
   function getNodeDir () {
 
     // 'python' should be set by now
@@ -109,14 +151,7 @@ function configure (gyp, argv, callback) {
 
     if (gyp.opts.nodedir) {
       // --nodedir was specified. use that for the dev files
-      nodeDir = gyp.opts.nodedir
-
-      // simple ~ homedir expansion based on https://github.com/joyent/node/issues/2857
-      if (win) {
-        nodeDir = nodeDir.replace(/^~/, process.env.USERPROFILE)
-      } else {
-        nodeDir = nodeDir.replace(/^~/, process.env.HOME)
-      }
+      nodeDir = gyp.opts.nodedir.replace(/^~/, osenv.home())
 
       log.verbose('get node dir', 'compiling against specified --nodedir dev files: %s', nodeDir)
       createBuildDir()
@@ -204,6 +239,11 @@ function configure (gyp, argv, callback) {
     // set the target_arch variable
     variables.target_arch = gyp.opts.arch || process.arch || 'ia32'
 
+    // set the toolset for 64-bit VCExpress users
+    if (win && variables.target_arch === 'x64' && hasVCExpress && hasWin71SDK) {
+      defaults.msbuild_toolset = 'Windows7.1SDK'
+    }
+
     // set the node development directory
     variables.nodedir = nodeDir
 
index 6681daa..26c8beb 100644 (file)
@@ -146,11 +146,9 @@ proto.parseArgv = function parseOpts (argv) {
     if (name === npm_config_prefix + 'loglevel') {
       log.level = val
     } else {
-      // take the config name and check if it's one that node-gyp cares about
+      // add the user-defined options to the config
       name = name.substring(npm_config_prefix.length)
-      if (name in this.configDefs) {
-        this.opts[name] = val
-      }
+      this.opts[name] = val
     }
   }, this)
 
@@ -176,10 +174,10 @@ proto.spawn = function spawn (command, args, opts) {
 }
 
 /**
- * Prints the usage instructions and then exits.
+ * Returns the usage instructions for node-gyp.
  */
 
-proto.usageAndExit = function usageAndExit () {
+proto.usage = function usage () {
   var usage = [
       ''
     , '  Usage: node-gyp <command> [options]'
@@ -195,13 +193,11 @@ proto.usageAndExit = function usageAndExit () {
     , 'node-gyp@' + this.version + '  ' + path.resolve(__dirname, '..')
     , 'node@' + process.versions.node
   ].join('\n')
-
-  console.log(usage)
-  process.exit(4)
+  return usage
 }
 
 /**
- * Version number proxy.
+ * Version number getter.
  */
 
 Object.defineProperty(proto, 'version', {
index f6493b4..c2db8f8 100644 (file)
@@ -10,7 +10,7 @@
     "bindings",
     "gyp"
   ],
-  "version": "0.6.1",
+  "version": "0.6.3",
   "installVersion": 9,
   "author": {
     "name": "Nathan Rajlich",
@@ -45,9 +45,6 @@
     "node": ">= 0.6.0"
   },
   "readme": "node-gyp\n=========\n### Node.js native addon build tool\n\n`node-gyp` is a cross-platform command-line tool written in Node.js for compiling\nnative addon modules for Node.js, which takes away the pain of dealing with the\nvarious differences in build platforms. It is the replacement to the `node-waf`\nprogram which is removed for node `v0.8`. If you have a native addon for node that\nstill has a `wscript` file, then you should definitely add a `binding.gyp` file\nto support the latest versions of node.\n\nMultiple target versions of node are supported (i.e. `0.6`, `0.7`,..., `1.0`,\netc.), regardless of what version of node is actually installed on your system\n(`node-gyp` downloads the necessary development files for the target version).\n\n#### Features:\n\n * Easy to use, consistent interface\n * Same commands to build your module on every platform\n * Supports multiple target versions of Node\n\n\nInstallation\n------------\n\nYou can install with `npm`:\n\n``` bash\n$ npm install -g node-gyp\n```\n\nYou will also need to install:\n\n  * On Unix:\n    * `python`\n    * `make`\n    * A proper C/C++ compiler toolchain, like GCC\n  * On Windows:\n    * [Python][windows-python] ([`v2.7.2`][windows-python-v2.7.2] recommended, `v3.x.x` not yet supported)\n    * Microsoft Visual C++ ([Express][msvc] version works well)\n      * For 64-bit builds of node and native modules you will _also_ need the [Windows 7 64-bit SDK][win7sdk]\n\nHow to Use\n----------\n\nTo compile your native addon, first go to its root directory:\n\n``` bash\n$ cd my_node_addon\n```\n\nThe next step is to generate the appropriate project build files for the current\nplatform. Use `configure` for that:\n\n``` bash\n$ node-gyp configure\n```\n\n__Note__: The `configure` step looks for the `binding.gyp` file in the current\ndirectory to processs. See below for instructions on creating the `binding.gyp` file.\n\nNow you will have either a `Makefile` (on Unix platforms) or a `vcxproj` file\n(on Windows) in the `build/` directory. Next invoke the `build` command:\n\n``` bash\n$ node-gyp build\n```\n\nNow you have your compiled `.node` bindings file! The compiled bindings end up\nin `build/Debug/` or `build/Release/`, depending on the build mode. At this point\nyou can require the `.node` file with Node and run your tests!\n\n__Note:__ To create a _Debug_ build of the bindings file, pass the `--debug` (or\n`-d`) switch when running the either `configure` or `build` command.\n\n\nThe \"binding.gyp\" file\n----------------------\n\nPreviously when node had `node-waf` you had to write a `wscript` file. The\nreplacement for that is the `binding.gyp` file, which describes the configuration\nto build your module in a JSON-like format. This file gets placed in the root of\nyour package, alongside the `package.json` file.\n\nA barebones `gyp` file appropriate for building a node addon looks like:\n\n``` json\n{\n  \"targets\": [\n    {\n      \"target_name\": \"binding\",\n      \"sources\": [ \"src/binding.cc\" ]\n    }\n  ]\n}\n```\n\nSome additional resources for writing `gyp` files:\n\n * [\"Hello World\" node addon example](https://github.com/joyent/node/tree/master/test/addons/hello-world)\n * [gyp user documentation](http://code.google.com/p/gyp/wiki/GypUserDocumentation)\n * [gyp input format reference](http://code.google.com/p/gyp/wiki/InputFormatReference)\n * [*\"binding.gyp\" files out in the wild* wiki page](https://github.com/TooTallNate/node-gyp/wiki/%22binding.gyp%22-files-out-in-the-wild)\n\n\nCommands\n--------\n\n`node-gyp` responds to the following commands:\n\n| **Command**   | **Description**\n|:--------------|:---------------------------------------------------------------\n| `build`       | Invokes `make`/`msbuild.exe` and builds the native addon\n| `clean`       | Removes any the `build` dir if it exists\n| `configure`   | Generates project build files for the current platform\n| `rebuild`     | Runs \"clean\", \"configure\" and \"build\" all in a row\n| `install`     | Installs node development header files for the given version\n| `list`        | Lists the currently installed node development file versions\n| `remove`      | Removes the node development header files for the given version\n\n\nLicense\n-------\n\n(The MIT License)\n\nCopyright (c) 2012 Nathan Rajlich &lt;nathan@tootallnate.net&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n[windows-python]: http://www.python.org/getit/windows\n[windows-python-v2.7.2]: http://www.python.org/download/releases/2.7.2#download\n[msvc]: http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express\n[win7sdk]: http://www.microsoft.com/download/en/details.aspx?displayLang=en&id=8279\n",
-  "_id": "node-gyp@0.6.1",
-  "dist": {
-    "shasum": "6b380fd3fbf21c0dc99147a5f99fd8fc8f79c794"
-  },
-  "_from": "node-gyp@latest"
+  "_id": "node-gyp@0.6.3",
+  "_from": "node-gyp@~0.6.1"
 }
index c3b3000..e585627 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "read-package-json",
-  "version": "0.1.1",
+  "version": "0.1.2",
   "author": {
     "name": "Isaac Z. Schlueter",
     "email": "i@izs.me",
@@ -31,6 +31,6 @@
     "graceful-fs": "~1.1.8"
   },
   "readme": "# read-package-json\n\nThis is the thing that npm uses to read package.json files.  It\nvalidates some stuff, and loads some default things.\n\nIt keeps a cache of the files you've read, so that you don't end\nup reading the same package.json file multiple times.\n\nNote that if you just want to see what's literally in the package.json\nfile, you can usually do `var data = require('some-module/package.json')`.\n\nThis module is basically only needed by npm, but it's handy to see what\nnpm will see when it looks at your package.\n\n## Usage\n\n```javascript\nvar readJson = require('read-package-json')\n\nreadJson('/path/to/package.json', function (er, data) {\n  if (er) {\n    console.error(\"There was an error reading the file\")\n    return\n  }\n\n  console.error('the package data is', data)\n}\n```\n\n## readJson(file, cb)\n\n* `file` {String} The path to the package.json file\n* `cb` {Function}\n\nReads the JSON file and does the things.\n\n## `package.json` Fields\n\nSee `man 5 package.json` or `npm help json`.\n\n## readJson.log\n\nBy default this is a reference to the `npmlog` module.  But if that\nmodule can't be found, then it'll be set to just a dummy thing that does\nnothing.\n\nReplace with your own `{log,warn,error}` object for fun loggy time.\n\n## readJson.extras(file, data, cb)\n\nRun all the extra stuff relative to the file, with the parsed data.\n\nModifies the data as it does stuff.  Calls the cb when it's done.\n\n## readJson.extraSet = [fn, fn, ...]\n\nArray of functions that are called by `extras`.  Each one receives the\narguments `fn(file, data, cb)` and is expected to call `cb(er, data)`\nwhen done or when an error occurs.\n\nOrder is indeterminate, so each function should be completely\nindependent.\n\nMix and match!\n\n## readJson.cache\n\nThe `lru-cache` object that readJson uses to not read the same file over\nand over again.  See\n[lru-cache](https://github.com/isaacs/node-lru-cache) for details.\n\n## Other Relevant Files Besides `package.json`\n\nSome other files have an effect on the resulting data object, in the\nfollowing ways:\n\n### `README?(.*)`\n\nIf there is a `README` or `README.*` file present, then npm will attach\na `readme` field to the data with the contents of this file.\n\nOwing to the fact that roughly 100% of existing node modules have\nMarkdown README files, it will generally be assumed to be Markdown,\nregardless of the extension.  Please plan accordingly.\n\n### `server.js`\n\nIf there is a `server.js` file, and there is not already a\n`scripts.start` field, then `scripts.start` will be set to `node\nserver.js`.\n\n### `AUTHORS`\n\nIf there is not already a `contributors` field, then the `contributors`\nfield will be set to the contents of the `AUTHORS` file, split by lines,\nand parsed.\n\n### `bindings.gyp`\n\nIf a bindings.gyp file exists, and there is not already a\n`scripts.install` field, then the `scripts.install` field will be set to\n`node-gyp rebuild`.\n\n### `wscript`\n\nIf a wscript file exists, and there is not already a `scripts.install`\nfield, then the `scripts.install` field will be set to `node-waf clean ;\nnode-waf configure build`.\n\nNote that the `bindings.gyp` file supercedes this, since node-waf has\nbeen deprecated in favor of node-gyp.\n\n### `index.js`\n\nIf the json file does not exist, but there is a `index.js` file\npresent instead, and that file has a package comment, then it will try\nto parse the package comment, and use that as the data instead.\n\nA package comment looks like this:\n\n```javascript\n/**package\n * { \"name\": \"my-bare-module\"\n * , \"version\": \"1.2.3\"\n * , \"description\": \"etc....\" }\n **/\n\n// or...\n\n/**package\n{ \"name\": \"my-bare-module\"\n, \"version\": \"1.2.3\"\n, \"description\": \"etc....\" }\n**/\n```\n\nThe important thing is that it starts with `/**package`, and ends with\n`**/`.  If the package.json file exists, then the index.js is not\nparsed.\n\n### `{directories.man}/*.[0-9]`\n\nIf there is not already a `man` field defined as an array of files or a\nsingle file, and\nthere is a `directories.man` field defined, then that directory will\nbe searched for manpages.\n\nAny valid manpages found in that directory will be assigned to the `man`\narray, and installed in the appropriate man directory at package install\ntime, when installed globally on a Unix system.\n\n### `{directories.bin}/*`\n\nIf there is not already a `bin` field defined as a string filename or a\nhash of `<name> : <filename>` pairs, then the `directories.bin`\ndirectory will be searched and all the files within it will be linked as\nexecutables at install time.\n\nWhen installing locally, npm links bins into `node_modules/.bin`, which\nis in the `PATH` environ when npm runs scripts.  When\ninstalling globally, they are linked into `{prefix}/bin`, which is\npresumably in the `PATH` environment variable.\n",
-  "_id": "read-package-json@0.1.1",
-  "_from": "read-package-json@~0.1.0"
+  "_id": "read-package-json@0.1.2",
+  "_from": "read-package-json@~0.1.1"
 }
index bb1c952..385fc33 100644 (file)
@@ -76,21 +76,25 @@ function readJson (file, cb) {
 
 function readJson_ (file, cb) {
                 fs.readFile(file, "utf8", function (er, d) {
-                                if (er && er.code === "ENOENT") {
-                                                indexjs(file, er, cb)
-                                                return
-                                }
-                                if (er) return cb(er);
-                                try {
-                                                d = JSON.parse(d)
-                                } catch (er) {
-                                                er = parseError(er, file);
-                                                return cb(er);
-                                }
-                                extras(file, d, cb)
+                                parseJson(file, er, d, cb)
                 })
 }
 
+function parseJson (file, er, d, cb) {
+                if (er && er.code === "ENOENT") {
+                                indexjs(file, er, cb)
+                                return
+                }
+                if (er) return cb(er);
+                try {
+                                d = JSON.parse(d)
+                } catch (er) {
+                                d = parseIndex(d)
+                                if (!d) return cb(parseError(er, file));
+                }
+                extras(file, d, cb)
+}
+
 
 function indexjs (file, er, cb) {
                 if (path.basename(file) === "index.js") {
@@ -226,7 +230,7 @@ function readme (file, data, cb) {
                 var globOpts = { cwd: dir, nocase: true }
                 glob("README?(.*)", globOpts, function (er, files) {
                                 if (er) return cb(er);
-                                if (!files.length) return cb()
+                                if (!files.length) return cb();
                                 var rm = path.resolve(dir, files[0])
                                 readme_(file, data, rm, cb)
                 })
@@ -329,8 +333,6 @@ function parseError (ex, file) {
 
 // a warning for deprecated or likely-incorrect fields
 function typoWarn (file, data) {
-                if (typoWarned[data._id]) return;
-                typoWarned[data._id] = true
                 if (data.modules) {
                                 warn(file, data,
                                      "'modules' is deprecated")
@@ -342,6 +344,7 @@ function typoWarn (file, data) {
                 bugsTypoWarn(file, data)
                 scriptTypoWarn(file, data)
                 noreadmeWarn(file, data)
+                typoWarned[data._id] = true
 }
 
 function noreadmeWarn (file, data) {
@@ -485,6 +488,7 @@ function depObjectify (file, data, deps) {
 
 
 function warn (f, d, m) {
+                if (typoWarned[d._id]) return;
                 readJson.log.warn("package.json", d._id, m)
 }
 
index 72ba814..2e5cf7e 100644 (file)
@@ -1,3 +1,4 @@
+// vim: set softtabstop=16 shiftwidth=16:
 var tap = require("tap")
 var readJson = require("../")
 var path = require("path")
diff --git a/deps/npm/node_modules/read-package-json/test/fixtures/not-json.css b/deps/npm/node_modules/read-package-json/test/fixtures/not-json.css
new file mode 100644 (file)
index 0000000..3716391
--- /dev/null
@@ -0,0 +1,37 @@
+body {
+  height: yo mama
+}
+
+/**package
+{
+  "name": "read-package-json",
+  "version": "0.1.1",
+  "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
+  "description": "The thing npm uses to read package.json files with semantics and defaults and validation",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/isaacs/read-package-json.git"
+  },
+  "main": "read-json.js",
+  "scripts": {
+    "test": "tap test/*.js"
+  },
+  "dependencies": {
+    "glob": "~3.1.9",
+    "lru-cache": "~1.1.0",
+    "semver": "~1.0.14",
+    "slide": "~1.1.3"
+  },
+  "devDependencies": {
+    "tap": "~0.2.5"
+  },
+  "optionalDependencies": {
+    "npmlog": "0",
+    "graceful-fs": "~1.1.8"
+  }
+}
+**/
+
+html {
+  width: so fat
+}
diff --git a/deps/npm/node_modules/read-package-json/test/non-json.js b/deps/npm/node_modules/read-package-json/test/non-json.js
new file mode 100644 (file)
index 0000000..8f8feb1
--- /dev/null
@@ -0,0 +1,77 @@
+// vim: set softtabstop=16 shiftwidth=16:
+var tap = require('tap')
+var readJson = require('../')
+var path = require('path')
+var fs = require('fs')
+var expect =
+{ name: 'read-package-json',
+  version: '0.1.1',
+  author: 
+   { name: 'Isaac Z. Schlueter',
+     email: 'i@izs.me',
+     url: 'http://blog.izs.me/' },
+  description: 'The thing npm uses to read package.json files with semantics and defaults and validation',
+  repository: 
+   { type: 'git',
+     url: 'git://github.com/isaacs/read-package-json.git' },
+  main: 'read-json.js',
+  scripts: { test: 'tap test/*.js' },
+  dependencies: 
+   { glob: '~3.1.9',
+     'lru-cache': '~1.1.0',
+     semver: '~1.0.14',
+     slide: '~1.1.3',
+     npmlog: '0',
+     'graceful-fs': '~1.1.8' },
+  devDependencies: { tap: '~0.2.5' },
+  optionalDependencies: { npmlog: '0', 'graceful-fs': '~1.1.8' },
+  _id: 'read-package-json@0.1.1',
+  readme: 'ERROR: No README.md file found!' }
+
+tap.test('from css', function (t) {
+                var c = path.join(__dirname, 'fixtures', 'not-json.css')
+                readJson(c, function (er, d) {
+                                t.same(d, expect)
+                                t.end()
+                })
+})
+
+tap.test('from js', function (t) {
+                readJson(__filename, function (er, d) {
+                                t.same(d, expect)
+                                t.end()
+                })
+})
+
+
+
+/**package
+{
+  "name": "read-package-json",
+  "version": "0.1.1",
+  "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
+  "description": "The thing npm uses to read package.json files with semantics and defaults and validation",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/isaacs/read-package-json.git"
+  },
+  "main": "read-json.js",
+  "scripts": {
+    "test": "tap test/*.js"
+  },
+  "dependencies": {
+    "glob": "~3.1.9",
+    "lru-cache": "~1.1.0",
+    "semver": "~1.0.14",
+    "slide": "~1.1.3"
+  },
+  "devDependencies": {
+    "tap": "~0.2.5"
+  },
+  "optionalDependencies": {
+    "npmlog": "0",
+    "graceful-fs": "~1.1.8"
+  }
+}
+**/
+
index 917e703..01aa8e7 100644 (file)
@@ -22,6 +22,7 @@ Every option is optional.
 
 * `prompt` What to write to stdout before reading input.
 * `silent` Don't echo the output as the user types it.
+* `replace` Replace silenced characters with the supplied character value.
 * `timeout` Number of ms to wait for user input before giving up.
 * `default` The default value if the user enters nothing.
 * `edit` Allow the user to edit the default value.
index 5cff529..363e7e8 100644 (file)
@@ -11,7 +11,7 @@ function read (opts, cb) {
 
   var input = opts.input || process.stdin
   var output = opts.output || process.stdout
-  var m = new Mute()
+  var m = new Mute({ replace: opts.replace })
   m.pipe(output)
   output = m
   var def = opts.default || ''
index 43f0cd4..91b45c4 100644 (file)
@@ -10,7 +10,7 @@ silently dropped, rather than being passed through.
 ```javascript
 var MuteStream = require('mute-stream')
 
-var ms = new MuteStream
+var ms = new MuteStream(options)
 
 ms.pipe(process.stdout)
 ms.write('foo') // writes 'foo' to stdout
@@ -34,6 +34,14 @@ ms.unmute()
 input.emit('data', 'baz') // logs 'baz'
 ```
 
+## Options
+
+All options are optional.
+
+* `replace` Set to a string to replace each character with the
+  specified string when muted.  (So you can show `****` instead of the
+  password, for example.)
+
 ## ms.mute()
 
 Set `muted` to `true`.  Turns `.write()` into a no-op.
index 02a9ba5..f0c3550 100644 (file)
@@ -4,11 +4,13 @@ module.exports = MuteStream
 
 // var out = new MuteStream(process.stdout)
 // argument auto-pipes
-function MuteStream (dest) {
+function MuteStream (opts) {
   Stream.apply(this)
+  opts = opts || {}
   this.writable = this.readable = true
   this.muted = false
   this.on('pipe', this._onpipe)
+  this.replace = opts.replace
 }
 
 MuteStream.prototype = Object.create(Stream.prototype)
@@ -75,12 +77,22 @@ MuteStream.prototype.resume = function () {
 }
 
 MuteStream.prototype.write = function (c) {
-  if (this.muted) return true
+  if (this.muted) {
+    if (!this.replace) return true
+    c = c.toString().replace(/./g, this.replace)
+  }
   this.emit('data', c)
 }
 
 MuteStream.prototype.end = function (c) {
-  if (!this.muted) this.emit('data', c)
+  if (this.muted) {
+    if (c && this.replace) {
+      c = c.toString().replace(/./g, this.replace)
+    } else {
+      c = null
+    }
+  }
+  if (c) this.emit('data', c)
   this.emit('end')
 }
 
index 873741a..ff942b8 100644 (file)
@@ -1,6 +1,6 @@
 {
   "name": "mute-stream",
-  "version": "0.0.1",
+  "version": "0.0.2",
   "main": "mute.js",
   "directories": {
     "test": "test"
   },
   "license": "BSD",
   "description": "Bytes go in, but they don't come out (when muted).",
-  "readme": "# mute-stream\n\nBytes go in, but they don't come out (when muted).\n\nThis is a basic pass-through stream, but when muted, the bytes are\nsilently dropped, rather than being passed through.\n\n## Usage\n\n```javascript\nvar MuteStream = require('mute-stream')\n\nvar ms = new MuteStream\n\nms.pipe(process.stdout)\nms.write('foo') // writes 'foo' to stdout\nms.mute()\nms.write('bar') // does not write 'bar'\nms.unmute()\nms.write('baz') // writes 'baz' to stdout\n\n// can also be used to mute incoming data\nvar ms = new MuteStream\ninput.pipe(ms)\n\nms.on('data', function (c) {\n  console.log('data: ' + c)\n})\n\ninput.emit('data', 'foo') // logs 'foo'\nms.mute()\ninput.emit('data', 'bar') // does not log 'bar'\nms.unmute()\ninput.emit('data', 'baz') // logs 'baz'\n```\n\n## ms.mute()\n\nSet `muted` to `true`.  Turns `.write()` into a no-op.\n\n## ms.unmute()\n\nSet `muted` to `false`\n\n## ms.isTTY\n\nTrue if the pipe destination is a TTY, or if the incoming pipe source is\na TTY.\n\n## Other stream methods...\n\nThe other standard readable and writable stream methods are all\navailable.  The MuteStream object acts as a facade to its pipe source\nand destination.\n",
-  "_id": "mute-stream@0.0.1",
-  "_from": "mute-stream@0"
+  "readme": "# mute-stream\n\nBytes go in, but they don't come out (when muted).\n\nThis is a basic pass-through stream, but when muted, the bytes are\nsilently dropped, rather than being passed through.\n\n## Usage\n\n```javascript\nvar MuteStream = require('mute-stream')\n\nvar ms = new MuteStream(options)\n\nms.pipe(process.stdout)\nms.write('foo') // writes 'foo' to stdout\nms.mute()\nms.write('bar') // does not write 'bar'\nms.unmute()\nms.write('baz') // writes 'baz' to stdout\n\n// can also be used to mute incoming data\nvar ms = new MuteStream\ninput.pipe(ms)\n\nms.on('data', function (c) {\n  console.log('data: ' + c)\n})\n\ninput.emit('data', 'foo') // logs 'foo'\nms.mute()\ninput.emit('data', 'bar') // does not log 'bar'\nms.unmute()\ninput.emit('data', 'baz') // logs 'baz'\n```\n\n## Options\n\nAll options are optional.\n\n* `replace` Set to a string to replace each character with the\n  specified string when muted.  (So you can show `****` instead of the\n  password, for example.)\n\n## ms.mute()\n\nSet `muted` to `true`.  Turns `.write()` into a no-op.\n\n## ms.unmute()\n\nSet `muted` to `false`\n\n## ms.isTTY\n\nTrue if the pipe destination is a TTY, or if the incoming pipe source is\na TTY.\n\n## Other stream methods...\n\nThe other standard readable and writable stream methods are all\navailable.  The MuteStream object acts as a facade to its pipe source\nand destination.\n",
+  "_id": "mute-stream@0.0.2",
+  "dist": {
+    "shasum": "75d4466df24a57e80fec806bda88561cd0560d2d"
+  },
+  "_from": "mute-stream@~0.0.2"
 }
index ce048ec..473f827 100644 (file)
@@ -133,3 +133,62 @@ tap.test('pause/resume incoming', function (t) {
   t.equal(expect.length, 0, 'saw all events')
   t.end()
 })
+
+tap.test('replace with *', function (t) {
+  var str = new PassThrough
+  var ms = new MS({replace: '*'})
+  str.pipe(ms)
+  var expect = ['foo', '*****', 'bar', '***', 'baz', 'boo', '**', '****']
+
+  ms.on('data', function (c) {
+    t.equal(c, expect.shift())
+  })
+
+  str.write('foo')
+  ms.mute()
+  str.write('12345')
+  ms.unmute()
+  str.write('bar')
+  ms.mute()
+  str.write('baz')
+  ms.unmute()
+  str.write('baz')
+  str.write('boo')
+  ms.mute()
+  str.write('xy')
+  str.write('xyzΩ')
+
+  t.equal(expect.length, 0)
+  t.end()
+})
+
+tap.test('replace with ~YARG~', function (t) {
+  var str = new PassThrough
+  var ms = new MS({replace: '~YARG~'})
+  str.pipe(ms)
+  var expect = ['foo', '~YARG~~YARG~~YARG~~YARG~~YARG~', 'bar',
+                '~YARG~~YARG~~YARG~', 'baz', 'boo', '~YARG~~YARG~',
+                '~YARG~~YARG~~YARG~~YARG~']
+
+  ms.on('data', function (c) {
+    t.equal(c, expect.shift())
+  })
+
+  // also throw some unicode in there, just for good measure.
+  str.write('foo')
+  ms.mute()
+  str.write('ΩΩ')
+  ms.unmute()
+  str.write('bar')
+  ms.mute()
+  str.write('Ω')
+  ms.unmute()
+  str.write('baz')
+  str.write('boo')
+  ms.mute()
+  str.write('Ω')
+  str.write('ΩΩ')
+
+  t.equal(expect.length, 0)
+  t.end()
+})
index 256a9e2..698cf40 100644 (file)
@@ -1,9 +1,9 @@
 {
   "name": "read",
-  "version": "1.0.1",
+  "version": "1.0.2",
   "main": "lib/read.js",
   "dependencies": {
-    "mute-stream": "0"
+    "mute-stream": "~0.0.2"
   },
   "devDependencies": {
     "tap": "*"
@@ -25,7 +25,7 @@
   "scripts": {
     "test": "tap test/*.js"
   },
-  "readme": "## read\n\nFor reading user input from stdin.\n\nSimilar to the `readline` builtin's `question()` method, but with a\nfew more features.\n\n## USAGE\n\n```javascript\nvar read = require(\"read\")\nread(options, callback)\n```\n\nThe callback gets called with either the user input, or the default\nspecified, or an error, as `callback(error, result, isDefault)`\nnode style.\n\n## OPTIONS\n\nEvery option is optional.\n\n* `prompt` What to write to stdout before reading input.\n* `silent` Don't echo the output as the user types it.\n* `timeout` Number of ms to wait for user input before giving up.\n* `default` The default value if the user enters nothing.\n* `edit` Allow the user to edit the default value.\n* `terminal` Treat the output as a TTY, whether it is or not.\n* `stdin` Readable stream to get input data from. (default `process.stdin`)\n* `stdout` Writeable stream to write prompts to. (default: `process.stdout`)\n\nIf silent is true, and the input is a TTY, then read will set raw\nmode, and read character by character.\n\n## CONTRIBUTING\n\nPatches welcome.\n",
-  "_id": "read@1.0.1",
-  "_from": "read@latest"
+  "readme": "## read\n\nFor reading user input from stdin.\n\nSimilar to the `readline` builtin's `question()` method, but with a\nfew more features.\n\n## USAGE\n\n```javascript\nvar read = require(\"read\")\nread(options, callback)\n```\n\nThe callback gets called with either the user input, or the default\nspecified, or an error, as `callback(error, result, isDefault)`\nnode style.\n\n## OPTIONS\n\nEvery option is optional.\n\n* `prompt` What to write to stdout before reading input.\n* `silent` Don't echo the output as the user types it.\n* `replace` Replace silenced characters with the supplied character value.\n* `timeout` Number of ms to wait for user input before giving up.\n* `default` The default value if the user enters nothing.\n* `edit` Allow the user to edit the default value.\n* `terminal` Treat the output as a TTY, whether it is or not.\n* `stdin` Readable stream to get input data from. (default `process.stdin`)\n* `stdout` Writeable stream to write prompts to. (default: `process.stdout`)\n\nIf silent is true, and the input is a TTY, then read will set raw\nmode, and read character by character.\n\n## CONTRIBUTING\n\nPatches welcome.\n",
+  "_id": "read@1.0.2",
+  "_from": "read@~1"
 }
index 862cb67..ff01b54 100644 (file)
@@ -1,5 +1,5 @@
 {
-  "version": "1.1.45",
+  "version": "1.1.46",
   "name": "npm",
   "publishConfig": {
     "proprietary-attribs": false
diff --git a/deps/npm/test/packages/npm-test-blerg3/README b/deps/npm/test/packages/npm-test-blerg3/README
new file mode 100644 (file)
index 0000000..8848f07
--- /dev/null
@@ -0,0 +1 @@
+just an npm test
diff --git a/deps/npm/test/packages/npm-test-blerg3/package.json b/deps/npm/test/packages/npm-test-blerg3/package.json
new file mode 100644 (file)
index 0000000..c88b5a9
--- /dev/null
@@ -0,0 +1,5 @@
+{ "name":"npm-test-blerg3"
+, "homepage": "https://github.com/isaacs/npm/issues/2658"
+, "version" : "0.0.0"
+, "scripts" : { "test" : "node test.js" }
+}
diff --git a/deps/npm/test/packages/npm-test-blerg3/test.js b/deps/npm/test/packages/npm-test-blerg3/test.js
new file mode 100644 (file)
index 0000000..f548458
--- /dev/null
@@ -0,0 +1,5 @@
+
+var assert = require("assert")
+assert.equal(undefined, process.env.npm_config__password, "password exposed!")
+assert.equal(undefined, process.env.npm_config__auth, "auth exposed!")
+assert.equal(undefined, process.env.npm_config__authCrypt, "authCrypt exposed!")