diff options
182 files changed, 973 insertions, 416 deletions
diff --git a/deps/npm/.gitignore b/deps/npm/.gitignore deleted file mode 100644 index 842fca968e..0000000000 --- a/deps/npm/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -*.swp -npm-debug.log -/test/bin -/test/output.log -/test/*/*/node_modules -/test/packages/npm-test-depends-on-spark/which-spark.log -/test/packages/test-package/random-data.txt -/test/root -/node_modules/ronn -/node_modules/tap -/node_modules/.bin -/html/api/ -/html/doc/ -/man/ -/doc/*/index.md -/npmrc -/release/ diff --git a/deps/npm/AUTHORS b/deps/npm/AUTHORS index b2adf342ab..32f5abc053 100644 --- a/deps/npm/AUTHORS +++ b/deps/npm/AUTHORS @@ -71,3 +71,4 @@ Domenic Denicola <domenic@domenicdenicola.com> James Halliday <mail@substack.net> Jeremy Cantrell <jmcantrell@gmail.com> Ribettes <patlogan29@gmail.com> +Don Park <donpark@docuverse.com> diff --git a/deps/npm/doc/cli/config.md b/deps/npm/doc/cli/config.md index 7bd46cd43a..feac9b35b5 100644 --- a/deps/npm/doc/cli/config.md +++ b/deps/npm/doc/cli/config.md @@ -501,6 +501,9 @@ It cannot be set from the command line, but if you are using npm programmatically, you may wish to send logs to somewhere other than stderr. +If the `color` config is set to true, then this stream will receive +colored output if it is a TTY. + ### long * Default: false diff --git a/deps/npm/html/api/bin.html b/deps/npm/html/api/bin.html index 1053a36a37..c2064450a0 100644 --- a/deps/npm/html/api/bin.html +++ b/deps/npm/html/api/bin.html @@ -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 — npm@1.1.41</p> +<p id="footer">bin — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/bugs.html b/deps/npm/html/api/bugs.html index ac676044f5..ede029d7c2 100644 --- a/deps/npm/html/api/bugs.html +++ b/deps/npm/html/api/bugs.html @@ -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 — npm@1.1.41</p> +<p id="footer">bugs — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/commands.html b/deps/npm/html/api/commands.html index fcc5252fb8..18a3bdcd5a 100644 --- a/deps/npm/html/api/commands.html +++ b/deps/npm/html/api/commands.html @@ -28,7 +28,7 @@ usage, or <code>man 3 npm-<command></code> for programmatic usage.</p> <ul><li><a href="../doc/index.html">index(1)</a></li></ul> </div> -<p id="footer">commands — npm@1.1.41</p> +<p id="footer">commands — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/config.html b/deps/npm/html/api/config.html index aecd3ccf29..6b3796cae9 100644 --- a/deps/npm/html/api/config.html +++ b/deps/npm/html/api/config.html @@ -33,7 +33,7 @@ functions instead.</p> <ul><li><a href="../api/npm.html">npm(3)</a></li></ul> </div> -<p id="footer">config — npm@1.1.41</p> +<p id="footer">config — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/deprecate.html b/deps/npm/html/api/deprecate.html index f6d2630d45..5b1b17ccd8 100644 --- a/deps/npm/html/api/deprecate.html +++ b/deps/npm/html/api/deprecate.html @@ -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 — npm@1.1.41</p> +<p id="footer">deprecate — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/docs.html b/deps/npm/html/api/docs.html index 9cae642c84..4ceba8bfae 100644 --- a/deps/npm/html/api/docs.html +++ b/deps/npm/html/api/docs.html @@ -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 — npm@1.1.41</p> +<p id="footer">docs — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/edit.html b/deps/npm/html/api/edit.html index 271ab22be3..e005614fd5 100644 --- a/deps/npm/html/api/edit.html +++ b/deps/npm/html/api/edit.html @@ -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 — npm@1.1.41</p> +<p id="footer">edit — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/explore.html b/deps/npm/html/api/explore.html index c20f1a8ed0..858b3a45ef 100644 --- a/deps/npm/html/api/explore.html +++ b/deps/npm/html/api/explore.html @@ -24,7 +24,7 @@ sure to use <code>npm rebuild <pkg></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 — npm@1.1.41</p> +<p id="footer">explore — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/help-search.html b/deps/npm/html/api/help-search.html index 69dfb97d35..6d624fc2f2 100644 --- a/deps/npm/html/api/help-search.html +++ b/deps/npm/html/api/help-search.html @@ -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 — npm@1.1.41</p> +<p id="footer">help-search — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/init.html b/deps/npm/html/api/init.html index 0e3402b3b7..115d1c0ea7 100644 --- a/deps/npm/html/api/init.html +++ b/deps/npm/html/api/init.html @@ -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 — npm@1.1.41</p> +<p id="footer">init — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/install.html b/deps/npm/html/api/install.html index 1d918177e4..8b5803107b 100644 --- a/deps/npm/html/api/install.html +++ b/deps/npm/html/api/install.html @@ -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 — npm@1.1.41</p> +<p id="footer">install — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/link.html b/deps/npm/html/api/link.html index 3d743928dd..02a285165e 100644 --- a/deps/npm/html/api/link.html +++ b/deps/npm/html/api/link.html @@ -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 — npm@1.1.41</p> +<p id="footer">link — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/load.html b/deps/npm/html/api/load.html index 619c4b9ad7..2b73c1f1c1 100644 --- a/deps/npm/html/api/load.html +++ b/deps/npm/html/api/load.html @@ -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 — npm@1.1.41</p> +<p id="footer">load — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/ls.html b/deps/npm/html/api/ls.html index aec3a6a65f..a1e6825d69 100644 --- a/deps/npm/html/api/ls.html +++ b/deps/npm/html/api/ls.html @@ -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 — npm@1.1.41</p> +<p id="footer">ls — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/npm.html b/deps/npm/html/api/npm.html index 238a621436..e1eb17f773 100644 --- a/deps/npm/html/api/npm.html +++ b/deps/npm/html/api/npm.html @@ -24,7 +24,7 @@ npm.load(configObject, function (er, npm) { <h2 id="VERSION">VERSION</h2> -<p>1.1.41</p> +<p>1.1.43</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 — npm@1.1.41</p> +<p id="footer">npm — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/outdated.html b/deps/npm/html/api/outdated.html index 05331551aa..78afe87dfd 100644 --- a/deps/npm/html/api/outdated.html +++ b/deps/npm/html/api/outdated.html @@ -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 — npm@1.1.41</p> +<p id="footer">outdated — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/owner.html b/deps/npm/html/api/owner.html index 792ed77371..1b702c28e3 100644 --- a/deps/npm/html/api/owner.html +++ b/deps/npm/html/api/owner.html @@ -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 — npm@1.1.41</p> +<p id="footer">owner — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/pack.html b/deps/npm/html/api/pack.html index 5fd48beaeb..68284df92f 100644 --- a/deps/npm/html/api/pack.html +++ b/deps/npm/html/api/pack.html @@ -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 — npm@1.1.41</p> +<p id="footer">pack — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/prefix.html b/deps/npm/html/api/prefix.html index f6bd522d6d..ecab61294c 100644 --- a/deps/npm/html/api/prefix.html +++ b/deps/npm/html/api/prefix.html @@ -21,7 +21,7 @@ <p>This function is not useful programmatically</p> </div> -<p id="footer">prefix — npm@1.1.41</p> +<p id="footer">prefix — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/prune.html b/deps/npm/html/api/prune.html index b219008ea8..1b9286d8d3 100644 --- a/deps/npm/html/api/prune.html +++ b/deps/npm/html/api/prune.html @@ -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 — npm@1.1.41</p> +<p id="footer">prune — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/publish.html b/deps/npm/html/api/publish.html index b96ce818d1..75610b7176 100644 --- a/deps/npm/html/api/publish.html +++ b/deps/npm/html/api/publish.html @@ -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 — npm@1.1.41</p> +<p id="footer">publish — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/rebuild.html b/deps/npm/html/api/rebuild.html index f84a95d735..568754568b 100644 --- a/deps/npm/html/api/rebuild.html +++ b/deps/npm/html/api/rebuild.html @@ -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 — npm@1.1.41</p> +<p id="footer">rebuild — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/restart.html b/deps/npm/html/api/restart.html index 7da404d94c..805004b9aa 100644 --- a/deps/npm/html/api/restart.html +++ b/deps/npm/html/api/restart.html @@ -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 — npm@1.1.41</p> +<p id="footer">restart — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/root.html b/deps/npm/html/api/root.html index 3c38de8230..619053e70d 100644 --- a/deps/npm/html/api/root.html +++ b/deps/npm/html/api/root.html @@ -21,7 +21,7 @@ <p>This function is not useful programmatically.</p> </div> -<p id="footer">root — npm@1.1.41</p> +<p id="footer">root — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/run-script.html b/deps/npm/html/api/run-script.html index 53a65af3d0..42f62f7c3c 100644 --- a/deps/npm/html/api/run-script.html +++ b/deps/npm/html/api/run-script.html @@ -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 — npm@1.1.41</p> +<p id="footer">run-script — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/search.html b/deps/npm/html/api/search.html index 76d13c2422..0271279b9f 100644 --- a/deps/npm/html/api/search.html +++ b/deps/npm/html/api/search.html @@ -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 — npm@1.1.41</p> +<p id="footer">search — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/shrinkwrap.html b/deps/npm/html/api/shrinkwrap.html index b989e41d77..e4b20327c7 100644 --- a/deps/npm/html/api/shrinkwrap.html +++ b/deps/npm/html/api/shrinkwrap.html @@ -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 — npm@1.1.41</p> +<p id="footer">shrinkwrap — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/start.html b/deps/npm/html/api/start.html index 8e4bae79fa..b4da32b5c3 100644 --- a/deps/npm/html/api/start.html +++ b/deps/npm/html/api/start.html @@ -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 — npm@1.1.41</p> +<p id="footer">start — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/stop.html b/deps/npm/html/api/stop.html index aab27f3954..3ad666af67 100644 --- a/deps/npm/html/api/stop.html +++ b/deps/npm/html/api/stop.html @@ -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 — npm@1.1.41</p> +<p id="footer">stop — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/submodule.html b/deps/npm/html/api/submodule.html index 2a0a6db3d1..d16aefb42c 100644 --- a/deps/npm/html/api/submodule.html +++ b/deps/npm/html/api/submodule.html @@ -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 — npm@1.1.41</p> +<p id="footer">submodule — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/tag.html b/deps/npm/html/api/tag.html index bfa536faca..3331534da2 100644 --- a/deps/npm/html/api/tag.html +++ b/deps/npm/html/api/tag.html @@ -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 — npm@1.1.41</p> +<p id="footer">tag — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/test.html b/deps/npm/html/api/test.html index b9229338e1..bd974afb93 100644 --- a/deps/npm/html/api/test.html +++ b/deps/npm/html/api/test.html @@ -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 — npm@1.1.41</p> +<p id="footer">test — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/uninstall.html b/deps/npm/html/api/uninstall.html index 03ca456f99..6063b9a806 100644 --- a/deps/npm/html/api/uninstall.html +++ b/deps/npm/html/api/uninstall.html @@ -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 — npm@1.1.41</p> +<p id="footer">uninstall — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/unpublish.html b/deps/npm/html/api/unpublish.html index e5de9167ac..82990e5b65 100644 --- a/deps/npm/html/api/unpublish.html +++ b/deps/npm/html/api/unpublish.html @@ -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 — npm@1.1.41</p> +<p id="footer">unpublish — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/update.html b/deps/npm/html/api/update.html index 0b2d8afe25..b10cd96739 100644 --- a/deps/npm/html/api/update.html +++ b/deps/npm/html/api/update.html @@ -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 — npm@1.1.41</p> +<p id="footer">update — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/version.html b/deps/npm/html/api/version.html index cadf2cf56b..4a25f9bab8 100644 --- a/deps/npm/html/api/version.html +++ b/deps/npm/html/api/version.html @@ -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 — npm@1.1.41</p> +<p id="footer">version — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/view.html b/deps/npm/html/api/view.html index a5b00c439a..e935546fec 100644 --- a/deps/npm/html/api/view.html +++ b/deps/npm/html/api/view.html @@ -99,7 +99,7 @@ the field name.</p> <p>corresponding to the list of fields selected.</p> </div> -<p id="footer">view — npm@1.1.41</p> +<p id="footer">view — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/api/whoami.html b/deps/npm/html/api/whoami.html index 756f2003d4..2014969293 100644 --- a/deps/npm/html/api/whoami.html +++ b/deps/npm/html/api/whoami.html @@ -21,7 +21,7 @@ <p>This function is not useful programmatically</p> </div> -<p id="footer">whoami — npm@1.1.41</p> +<p id="footer">whoami — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/README.html b/deps/npm/html/doc/README.html index 555fb35723..2f65e6a0c1 100644 --- a/deps/npm/html/doc/README.html +++ b/deps/npm/html/doc/README.html @@ -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> — npm@1.1.41</p> +<p id="footer"><a href="../doc/README.html">README</a> — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/adduser.html b/deps/npm/html/doc/adduser.html index 92d177b934..7528fef845 100644 --- a/deps/npm/html/doc/adduser.html +++ b/deps/npm/html/doc/adduser.html @@ -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 — npm@1.1.41</p> +<p id="footer">adduser — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/bin.html b/deps/npm/html/doc/bin.html index c803ed554b..84f5e1263a 100644 --- a/deps/npm/html/doc/bin.html +++ b/deps/npm/html/doc/bin.html @@ -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 — npm@1.1.41</p> +<p id="footer">bin — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/bugs.html b/deps/npm/html/doc/bugs.html index 0b3f390cc7..6fc6d1fe24 100644 --- a/deps/npm/html/doc/bugs.html +++ b/deps/npm/html/doc/bugs.html @@ -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 — npm@1.1.41</p> +<p id="footer">bugs — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/build.html b/deps/npm/html/doc/build.html index b1ebb38d2e..490159b096 100644 --- a/deps/npm/html/doc/build.html +++ b/deps/npm/html/doc/build.html @@ -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 — npm@1.1.41</p> +<p id="footer">build — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/bundle.html b/deps/npm/html/doc/bundle.html index bef8a6261b..7e46c476db 100644 --- a/deps/npm/html/doc/bundle.html +++ b/deps/npm/html/doc/bundle.html @@ -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 — npm@1.1.41</p> +<p id="footer">bundle — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/cache.html b/deps/npm/html/doc/cache.html index 78f5a385bc..01f7ae8a33 100644 --- a/deps/npm/html/doc/cache.html +++ b/deps/npm/html/doc/cache.html @@ -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 — npm@1.1.41</p> +<p id="footer">cache — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/changelog.html b/deps/npm/html/doc/changelog.html index 6470a78b8f..bc970dcbf8 100644 --- a/deps/npm/html/doc/changelog.html +++ b/deps/npm/html/doc/changelog.html @@ -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 — npm@1.1.41</p> +<p id="footer">changelog — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/coding-style.html b/deps/npm/html/doc/coding-style.html index d033cccdb8..10e016e64f 100644 --- a/deps/npm/html/doc/coding-style.html +++ b/deps/npm/html/doc/coding-style.html @@ -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 — npm@1.1.41</p> +<p id="footer">coding-style — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/completion.html b/deps/npm/html/doc/completion.html index bdc35b9e10..f14651e742 100644 --- a/deps/npm/html/doc/completion.html +++ b/deps/npm/html/doc/completion.html @@ -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 — npm@1.1.41</p> +<p id="footer">completion — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/config.html b/deps/npm/html/doc/config.html index e9ae4c2a3f..7a58183574 100644 --- a/deps/npm/html/doc/config.html +++ b/deps/npm/html/doc/config.html @@ -441,6 +441,9 @@ The default is "http", which shows http, warn, and error output.</p> programmatically, you may wish to send logs to somewhere other than stderr.</p> +<p>If the <code>color</code> config is set to true, then this stream will receive +colored output if it is a TTY.</p> + <h3 id="long">long</h3> <ul><li>Default: false</li><li>Type: Boolean</li></ul> @@ -745,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 — npm@1.1.41</p> +<p id="footer">config — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/deprecate.html b/deps/npm/html/doc/deprecate.html index 7924aa8f14..592228cf00 100644 --- a/deps/npm/html/doc/deprecate.html +++ b/deps/npm/html/doc/deprecate.html @@ -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 — npm@1.1.41</p> +<p id="footer">deprecate — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/developers.html b/deps/npm/html/doc/developers.html index 50ff828543..311e12066d 100644 --- a/deps/npm/html/doc/developers.html +++ b/deps/npm/html/doc/developers.html @@ -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 — npm@1.1.41</p> +<p id="footer">developers — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/disputes.html b/deps/npm/html/doc/disputes.html index 0e6dc4d977..afaec7626d 100644 --- a/deps/npm/html/doc/disputes.html +++ b/deps/npm/html/doc/disputes.html @@ -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 — npm@1.1.41</p> +<p id="footer">disputes — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/docs.html b/deps/npm/html/doc/docs.html index 32a65eccd5..ac462e5466 100644 --- a/deps/npm/html/doc/docs.html +++ b/deps/npm/html/doc/docs.html @@ -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 — npm@1.1.41</p> +<p id="footer">docs — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/edit.html b/deps/npm/html/doc/edit.html index 5fcc2d45ec..3ddc18ce5f 100644 --- a/deps/npm/html/doc/edit.html +++ b/deps/npm/html/doc/edit.html @@ -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 — npm@1.1.41</p> +<p id="footer">edit — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/explore.html b/deps/npm/html/doc/explore.html index dc8d903715..f5df7928f5 100644 --- a/deps/npm/html/doc/explore.html +++ b/deps/npm/html/doc/explore.html @@ -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 — npm@1.1.41</p> +<p id="footer">explore — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/faq.html b/deps/npm/html/doc/faq.html index 21ce261e89..aee492e985 100644 --- a/deps/npm/html/doc/faq.html +++ b/deps/npm/html/doc/faq.html @@ -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 — npm@1.1.41</p> +<p id="footer">faq — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/folders.html b/deps/npm/html/doc/folders.html index c93a3e6e3f..d9fe84dc61 100644 --- a/deps/npm/html/doc/folders.html +++ b/deps/npm/html/doc/folders.html @@ -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 — npm@1.1.41</p> +<p id="footer">folders — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/help-search.html b/deps/npm/html/doc/help-search.html index ab8ecf88a6..5a5de509c5 100644 --- a/deps/npm/html/doc/help-search.html +++ b/deps/npm/html/doc/help-search.html @@ -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 — npm@1.1.41</p> +<p id="footer">help-search — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/help.html b/deps/npm/html/doc/help.html index 5f93bbc97e..736636121b 100644 --- a/deps/npm/html/doc/help.html +++ b/deps/npm/html/doc/help.html @@ -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 — npm@1.1.41</p> +<p id="footer">help — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/index.html b/deps/npm/html/doc/index.html index b17f59aaf6..b8fde9c334 100644 --- a/deps/npm/html/doc/index.html +++ b/deps/npm/html/doc/index.html @@ -384,7 +384,7 @@ <p> Display npm username</p> </div> -<p id="footer">index — npm@1.1.41</p> +<p id="footer">index — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/init.html b/deps/npm/html/doc/init.html index 872bf2335c..6e6d0ba82f 100644 --- a/deps/npm/html/doc/init.html +++ b/deps/npm/html/doc/init.html @@ -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 — npm@1.1.41</p> +<p id="footer">init — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/install.html b/deps/npm/html/doc/install.html index 2fbd63b681..5e62c6c479 100644 --- a/deps/npm/html/doc/install.html +++ b/deps/npm/html/doc/install.html @@ -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 — npm@1.1.41</p> +<p id="footer">install — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/json.html b/deps/npm/html/doc/json.html index 5c86e4cb74..a59f5443b0 100644 --- a/deps/npm/html/doc/json.html +++ b/deps/npm/html/doc/json.html @@ -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 — npm@1.1.41</p> +<p id="footer">json — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/link.html b/deps/npm/html/doc/link.html index c4f75e208a..4072e74f05 100644 --- a/deps/npm/html/doc/link.html +++ b/deps/npm/html/doc/link.html @@ -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 — npm@1.1.41</p> +<p id="footer">link — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/list.html b/deps/npm/html/doc/list.html index 1045602cc4..59aef2d46b 100644 --- a/deps/npm/html/doc/list.html +++ b/deps/npm/html/doc/list.html @@ -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.41 /path/to/npm +<pre><code>npm@1.1.43 /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 — npm@1.1.41</p> +<p id="footer">list — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/npm.html b/deps/npm/html/doc/npm.html index 0904f733e0..f32787b738 100644 --- a/deps/npm/html/doc/npm.html +++ b/deps/npm/html/doc/npm.html @@ -14,7 +14,7 @@ <h2 id="VERSION">VERSION</h2> -<p>1.1.41</p> +<p>1.1.43</p> <h2 id="DESCRIPTION">DESCRIPTION</h2> @@ -135,7 +135,7 @@ will no doubt tell you to put the output in a gist or email.</p> <ul><li><a href="../doc/help.html">help(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/README.html">README</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/index.html">index(1)</a></li><li><a href="../api/npm.html">npm(3)</a></li></ul> </div> -<p id="footer">npm — npm@1.1.41</p> +<p id="footer">npm — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/outdated.html b/deps/npm/html/doc/outdated.html index dbb9d9578d..d8de35a3bb 100644 --- a/deps/npm/html/doc/outdated.html +++ b/deps/npm/html/doc/outdated.html @@ -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 — npm@1.1.41</p> +<p id="footer">outdated — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/owner.html b/deps/npm/html/doc/owner.html index 243bcbf26a..218b8d8925 100644 --- a/deps/npm/html/doc/owner.html +++ b/deps/npm/html/doc/owner.html @@ -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 — npm@1.1.41</p> +<p id="footer">owner — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/pack.html b/deps/npm/html/doc/pack.html index 748f10901f..b193a9562c 100644 --- a/deps/npm/html/doc/pack.html +++ b/deps/npm/html/doc/pack.html @@ -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 — npm@1.1.41</p> +<p id="footer">pack — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/prefix.html b/deps/npm/html/doc/prefix.html index ab048e7a74..eb592c9175 100644 --- a/deps/npm/html/doc/prefix.html +++ b/deps/npm/html/doc/prefix.html @@ -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 — npm@1.1.41</p> +<p id="footer">prefix — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/prune.html b/deps/npm/html/doc/prune.html index 7e1f1cd3d4..ca5fdfd5af 100644 --- a/deps/npm/html/doc/prune.html +++ b/deps/npm/html/doc/prune.html @@ -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 — npm@1.1.41</p> +<p id="footer">prune — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/publish.html b/deps/npm/html/doc/publish.html index 014fa4d53c..a42b6be789 100644 --- a/deps/npm/html/doc/publish.html +++ b/deps/npm/html/doc/publish.html @@ -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 — npm@1.1.41</p> +<p id="footer">publish — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/rebuild.html b/deps/npm/html/doc/rebuild.html index 9602a2c189..ea633a2057 100644 --- a/deps/npm/html/doc/rebuild.html +++ b/deps/npm/html/doc/rebuild.html @@ -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 — npm@1.1.41</p> +<p id="footer">rebuild — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/registry.html b/deps/npm/html/doc/registry.html index 3662e22a92..a00ac754a2 100644 --- a/deps/npm/html/doc/registry.html +++ b/deps/npm/html/doc/registry.html @@ -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 — npm@1.1.41</p> +<p id="footer">registry — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/removing-npm.html b/deps/npm/html/doc/removing-npm.html index 99193eb9a1..a3c9a83620 100644 --- a/deps/npm/html/doc/removing-npm.html +++ b/deps/npm/html/doc/removing-npm.html @@ -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 — npm@1.1.41</p> +<p id="footer">removing-npm — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/restart.html b/deps/npm/html/doc/restart.html index ffab7a62f2..93c64ce779 100644 --- a/deps/npm/html/doc/restart.html +++ b/deps/npm/html/doc/restart.html @@ -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 — npm@1.1.41</p> +<p id="footer">restart — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/root.html b/deps/npm/html/doc/root.html index 9d006c3b08..2a8da021d4 100644 --- a/deps/npm/html/doc/root.html +++ b/deps/npm/html/doc/root.html @@ -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 — npm@1.1.41</p> +<p id="footer">root — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/run-script.html b/deps/npm/html/doc/run-script.html index 13bb1b08f4..ec6adcae53 100644 --- a/deps/npm/html/doc/run-script.html +++ b/deps/npm/html/doc/run-script.html @@ -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 — npm@1.1.41</p> +<p id="footer">run-script — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/scripts.html b/deps/npm/html/doc/scripts.html index f659e7de72..f932e03750 100644 --- a/deps/npm/html/doc/scripts.html +++ b/deps/npm/html/doc/scripts.html @@ -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 — npm@1.1.41</p> +<p id="footer">scripts — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/search.html b/deps/npm/html/doc/search.html index 07c38ef621..9790c7856d 100644 --- a/deps/npm/html/doc/search.html +++ b/deps/npm/html/doc/search.html @@ -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 — npm@1.1.41</p> +<p id="footer">search — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/semver.html b/deps/npm/html/doc/semver.html index a5054adbcb..0357b2d977 100644 --- a/deps/npm/html/doc/semver.html +++ b/deps/npm/html/doc/semver.html @@ -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 — npm@1.1.41</p> +<p id="footer">semver — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/shrinkwrap.html b/deps/npm/html/doc/shrinkwrap.html index c5a18db111..6d5b7dd1c9 100644 --- a/deps/npm/html/doc/shrinkwrap.html +++ b/deps/npm/html/doc/shrinkwrap.html @@ -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 — npm@1.1.41</p> +<p id="footer">shrinkwrap — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/star.html b/deps/npm/html/doc/star.html index cef44a3966..bcea0f6f05 100644 --- a/deps/npm/html/doc/star.html +++ b/deps/npm/html/doc/star.html @@ -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 — npm@1.1.41</p> +<p id="footer">star — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/start.html b/deps/npm/html/doc/start.html index 4f6c6394f4..89cf19d440 100644 --- a/deps/npm/html/doc/start.html +++ b/deps/npm/html/doc/start.html @@ -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 — npm@1.1.41</p> +<p id="footer">start — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/stop.html b/deps/npm/html/doc/stop.html index 153d5318a9..9f2756ceff 100644 --- a/deps/npm/html/doc/stop.html +++ b/deps/npm/html/doc/stop.html @@ -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 — npm@1.1.41</p> +<p id="footer">stop — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/submodule.html b/deps/npm/html/doc/submodule.html index 254e40187d..ce7ea4f49e 100644 --- a/deps/npm/html/doc/submodule.html +++ b/deps/npm/html/doc/submodule.html @@ -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 — npm@1.1.41</p> +<p id="footer">submodule — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/tag.html b/deps/npm/html/doc/tag.html index be8b162826..d75c394176 100644 --- a/deps/npm/html/doc/tag.html +++ b/deps/npm/html/doc/tag.html @@ -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 — npm@1.1.41</p> +<p id="footer">tag — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/test.html b/deps/npm/html/doc/test.html index 1f8fa63d8e..dd572e8d10 100644 --- a/deps/npm/html/doc/test.html +++ b/deps/npm/html/doc/test.html @@ -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 — npm@1.1.41</p> +<p id="footer">test — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/uninstall.html b/deps/npm/html/doc/uninstall.html index 268482a719..bd4c8c5ec5 100644 --- a/deps/npm/html/doc/uninstall.html +++ b/deps/npm/html/doc/uninstall.html @@ -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 — npm@1.1.41</p> +<p id="footer">uninstall — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/unpublish.html b/deps/npm/html/doc/unpublish.html index bb8e574353..4df93f61a7 100644 --- a/deps/npm/html/doc/unpublish.html +++ b/deps/npm/html/doc/unpublish.html @@ -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 — npm@1.1.41</p> +<p id="footer">unpublish — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/update.html b/deps/npm/html/doc/update.html index 88c27ce04e..dd59357e68 100644 --- a/deps/npm/html/doc/update.html +++ b/deps/npm/html/doc/update.html @@ -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 — npm@1.1.41</p> +<p id="footer">update — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/version.html b/deps/npm/html/doc/version.html index cc6f53f171..4ffbf2bcf5 100644 --- a/deps/npm/html/doc/version.html +++ b/deps/npm/html/doc/version.html @@ -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 — npm@1.1.41</p> +<p id="footer">version — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/view.html b/deps/npm/html/doc/view.html index 97e208b84a..41a273a13d 100644 --- a/deps/npm/html/doc/view.html +++ b/deps/npm/html/doc/view.html @@ -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 — npm@1.1.41</p> +<p id="footer">view — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/doc/whoami.html b/deps/npm/html/doc/whoami.html index dd15587dd4..6bb780943d 100644 --- a/deps/npm/html/doc/whoami.html +++ b/deps/npm/html/doc/whoami.html @@ -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 — npm@1.1.41</p> +<p id="footer">whoami — npm@1.1.43</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/html/n-64.png b/deps/npm/html/n-64.png Binary files differdeleted file mode 100644 index d4145efae6..0000000000 --- a/deps/npm/html/n-64.png +++ /dev/null diff --git a/deps/npm/html/n-large.png b/deps/npm/html/n-large.png Binary files differdeleted file mode 100644 index 9e1525f05a..0000000000 --- a/deps/npm/html/n-large.png +++ /dev/null diff --git a/deps/npm/html/npm-16.png b/deps/npm/html/npm-16.png Binary files differdeleted file mode 100644 index c3c9d05253..0000000000 --- a/deps/npm/html/npm-16.png +++ /dev/null diff --git a/deps/npm/html/npm-256-square.png b/deps/npm/html/npm-256-square.png Binary files differdeleted file mode 100644 index f7f18b560e..0000000000 --- a/deps/npm/html/npm-256-square.png +++ /dev/null diff --git a/deps/npm/html/npm-256w.png b/deps/npm/html/npm-256w.png Binary files differdeleted file mode 100644 index dac32c8a02..0000000000 --- a/deps/npm/html/npm-256w.png +++ /dev/null diff --git a/deps/npm/html/npm-64-square.png b/deps/npm/html/npm-64-square.png Binary files differdeleted file mode 100644 index eef2629d27..0000000000 --- a/deps/npm/html/npm-64-square.png +++ /dev/null diff --git a/deps/npm/html/npm-fin.png b/deps/npm/html/npm-fin.png Binary files differdeleted file mode 100644 index 7efbef6274..0000000000 --- a/deps/npm/html/npm-fin.png +++ /dev/null diff --git a/deps/npm/html/npm-large-trans.png b/deps/npm/html/npm-large-trans.png Binary files differdeleted file mode 100644 index 7f6c738260..0000000000 --- a/deps/npm/html/npm-large-trans.png +++ /dev/null diff --git a/deps/npm/html/npm-large.png b/deps/npm/html/npm-large.png Binary files differdeleted file mode 100644 index 27d83177e1..0000000000 --- a/deps/npm/html/npm-large.png +++ /dev/null diff --git a/deps/npm/html/npm-logo-white-trans.png b/deps/npm/html/npm-logo-white-trans.png Binary files differdeleted file mode 100644 index 0af8ad7016..0000000000 --- a/deps/npm/html/npm-logo-white-trans.png +++ /dev/null diff --git a/deps/npm/html/npm.png b/deps/npm/html/npm.png Binary files differdeleted file mode 100644 index d78ff53f2a..0000000000 --- a/deps/npm/html/npm.png +++ /dev/null diff --git a/deps/npm/lib/bin.js b/deps/npm/lib/bin.js index bd82bc9e31..719e8870dd 100644 --- a/deps/npm/lib/bin.js +++ b/deps/npm/lib/bin.js @@ -1,19 +1,18 @@ module.exports = bin var npm = require("./npm.js") - , output = require("./utils/output.js") bin.usage = "npm bin\nnpm bin -g\n(just prints the bin folder)" -function bin (args, cb) { - var path = require("path") - , b = npm.bin +function bin (args, silent, cb) { + if (typeof cb !== "function") cb = silent, silent = false + var b = npm.bin , PATH = (process.env.PATH || "").split(":") - output.write(b, function (er) { cb(er, b) }) + if (!silent) console.log(b) + process.nextTick(cb.bind(this, null, b)) if (npm.config.get("global") && PATH.indexOf(b) === -1) { - output.write("(not in PATH env variable)" - ,npm.config.get("logfd")) + npm.config.get("logstream").write("(not in PATH env variable)\n") } } diff --git a/deps/npm/lib/build.js b/deps/npm/lib/build.js index 9d1a991110..fd55b9e9bd 100644 --- a/deps/npm/lib/build.js +++ b/deps/npm/lib/build.js @@ -20,7 +20,6 @@ var npm = require("./npm.js") , cmdShim = require("./utils/cmd-shim.js") , cmdShimIfExists = cmdShim.ifExists , asyncMap = require("slide").asyncMap - , output = require("./utils/output.js") module.exports = build build.usage = "npm build <folder>\n(this is plumbing)" @@ -150,7 +149,8 @@ function linkBins (pkg, folder, parent, gtop, cb) { , out = npm.config.get("parseable") ? dest + "::" + src + ":BINFILE" : dest + " -> " + src - output.write(out, cb) + console.log(out) + cb() }) }) }, cb) diff --git a/deps/npm/lib/cache.js b/deps/npm/lib/cache.js index de7ccadbb7..2ca1215b9e 100644 --- a/deps/npm/lib/cache.js +++ b/deps/npm/lib/cache.js @@ -67,7 +67,6 @@ var mkdir = require("mkdirp") , registry = npm.registry , log = require("npmlog") , path = require("path") - , output , sha = require("./utils/sha.js") , asyncMap = require("slide").asyncMap , semver = require("semver") @@ -145,7 +144,6 @@ function read (name, ver, forceBypass, cb) { // npm cache ls [<path>] function ls (args, cb) { - output = output || require("./utils/output.js") args = args.join("/").split("@").join("/") if (args.substr(-1) === "/") args = args.substr(0, args.length - 1) var prefix = npm.config.get("cache") @@ -153,11 +151,10 @@ function ls (args, cb) { prefix = "~" + prefix.substr(process.env.HOME.length) } ls_(args, npm.config.get("depth"), function(er, files) { - output.write(files.map(function (f) { + console.log(files.map(function (f) { return path.join(prefix, f) - }).join("\n").trim(), function (er) { - return cb(er, files) - }) + }).join("\n").trim()) + cb(er, files) }) } @@ -386,7 +383,7 @@ function addRemoteGit (u, parsed, name, cb_) { var tmp = path.join(npm.tmp, Date.now()+"-"+Math.random()) mkdir(path.dirname(tmp), function (er) { if (er) return cb(er) - exec( npm.config.get("git"), ["clone", u, tmp], null, false + exec( npm.config.get("git"), ["clone", u, tmp], gitEnv(), false , function (er, code, stdout, stderr) { stdout = (stdout + "\n" + stderr).trim() if (er) { @@ -394,7 +391,7 @@ function addRemoteGit (u, parsed, name, cb_) { return cb(er) } log.verbose("git clone "+u, stdout) - exec( npm.config.get("git"), ["checkout", co], null, false, tmp + exec( npm.config.get("git"), ["checkout", co], gitEnv(), false, tmp , function (er, code, stdout, stderr) { stdout = (stdout + "\n" + stderr).trim() if (er) { @@ -410,6 +407,20 @@ function addRemoteGit (u, parsed, name, cb_) { } +var gitEnv_ +function gitEnv () { + // git responds to env vars in some weird ways in post-receive hooks + // so don't carry those along. + if (gitEnv_) return gitEnv_ + gitEnv_ = {} + for (var k in process.env) { + if (k.match(/^GIT/)) continue + gitEnv_[k] = process.env[k] + } + return gitEnv_ +} + + // only have one request in flight for a given // name@blah thing. var inFlightNames = {} diff --git a/deps/npm/lib/completion.js b/deps/npm/lib/completion.js index ebee003875..697f2d1668 100644 --- a/deps/npm/lib/completion.js +++ b/deps/npm/lib/completion.js @@ -5,8 +5,7 @@ completion.usage = "npm completion >> ~/.bashrc\n" + "npm completion >> ~/.zshrc\n" + "source <(npm completion)" -var output = require("./utils/output.js") - , configDefs = require("./utils/config-defs.js") +var configDefs = require("./utils/config-defs.js") , configTypes = configDefs.types , shorthands = configDefs.shorthands , nopt = require("nopt") @@ -200,7 +199,9 @@ function wrapCb (cb, opts) { return function (er, compls) { }) console.error([er && er.stack, compls, opts.partialWord]) if (er || compls.length === 0) return cb(er) - output.write(compls.join("\n"), 1, false, cb) + + console.log(compls.join("\n")) + cb() }} // the current word has a dash. Return the config names, diff --git a/deps/npm/lib/config.js b/deps/npm/lib/config.js index 67f2b35478..870f05f42b 100644 --- a/deps/npm/lib/config.js +++ b/deps/npm/lib/config.js @@ -15,7 +15,6 @@ var ini = require("./utils/ini.js") , exec = require("./utils/exec.js") , fs = require("graceful-fs") , dc - , output = require("./utils/output.js") , types = require("./utils/config-defs.js").types config.completion = function (opts, cb) { @@ -140,7 +139,8 @@ function get (key, cb) { if (key.charAt(0) === "_") { return cb(new Error("---sekretz---")) } - output.write(npm.config.get(key), cb) + console.log(npm.config.get(key)) + cb() } function sort (a, b) { @@ -273,7 +273,8 @@ function list (cb) { + "; HOME = " + process.env.HOME + eol + "; 'npm config ls -l' to show all defaults." + eol - return output.write(msg, cb) + console.log(msg) + cb() } var defaults = ini.defaultConfig @@ -290,7 +291,8 @@ function list (cb) { }) msg += eol - return output.write(msg, cb) + console.log(msg) + cb() } function unknown (action, cb) { diff --git a/deps/npm/lib/help-search.js b/deps/npm/lib/help-search.js index 6f1f117cbf..b0b15baca4 100644 --- a/deps/npm/lib/help-search.js +++ b/deps/npm/lib/help-search.js @@ -2,7 +2,6 @@ module.exports = helpSearch var fs = require("graceful-fs") - , output = require("./utils/output.js") , path = require("path") , asyncMap = require("slide").asyncMap , cliDocsPath = path.join(__dirname, "..", "doc", "cli") @@ -118,8 +117,8 @@ function helpSearch (args, silent, cb) { } if (results.length === 0) { - return output.write("No results for " - + args.map(JSON.stringify).join(" "), cb) + console.log("No results for " + args.map(JSON.stringify).join(" ")) + return cb() } // sort results by number of results found, then by number of hits @@ -164,8 +163,15 @@ function helpSearch (args, silent, cb) { }) out = newOut.join("") } - out = out.split("\1").join("\033[31;40m") - .split("\2").join("\033[0m") + if (npm.color) { + var color = "\033[31;40m" + , reset = "\033[0m" + } else { + var color = "" + , reset = "" + } + out = out.split("\1").join(color) + .split("\2").join(reset) return out }).join("\n").trim() return out @@ -179,7 +185,8 @@ function helpSearch (args, silent, cb) { + "(run with -l or --long to see more context)" } - output.write(out.trim(), function (er) { cb(er, results) }) + console.log(out.trim()) + cb(null, results) }) }) diff --git a/deps/npm/lib/help.js b/deps/npm/lib/help.js index 998d904718..495db8381a 100644 --- a/deps/npm/lib/help.js +++ b/deps/npm/lib/help.js @@ -12,7 +12,6 @@ var fs = require("graceful-fs") , path = require("path") , exec = require("./utils/exec.js") , npm = require("./npm.js") - , output = require("./utils/output.js") , log = require("npmlog") function help (args, cb) { @@ -35,7 +34,8 @@ function help (args, cb) { ) { npm.config.set("loglevel", "silent") log.level = "silent" - return output.write(npm.commands[section].usage, cb) + console.log(npm.commands[section].usage) + return cb() } var sectionPath = path.join( __dirname, "..", "man", "man" + num @@ -67,7 +67,8 @@ function help (args, cb) { if (!b) { return cb(new Error("viewer=browser and no browser set.")) } - output.write("Opening HTML in default browser...", cb) + console.log("Opening HTML in default browser...") + process.nextTick(cb) // windows is SO weird. if (process.platform === "win32") { exec("cmd", ["/c", htmlPath], env, false, function () {}) @@ -85,7 +86,7 @@ function help (args, cb) { if (er) return cb(er) npm.config.set("loglevel", "silent") log.level = "silent" - output.write + console.log ( ["\nUsage: npm <command>" , "" , "where <command> is one of:" @@ -104,7 +105,8 @@ function help (args, cb) { , "Config info can be viewed via: npm help config" , "" , "npm@" + npm.version + " " + path.dirname(__dirname) - ].join("\n"), function () { cb(er) }) + ].join("\n")) + cb(er) }) } diff --git a/deps/npm/lib/install.js b/deps/npm/lib/install.js index e64766bbed..28a04ddd4d 100644 --- a/deps/npm/lib/install.js +++ b/deps/npm/lib/install.js @@ -64,7 +64,6 @@ var npm = require("./npm.js") , cache = require("./cache.js") , asyncMap = require("slide").asyncMap , chain = require("slide").chain - , output , url = require("url") , mkdir = require("mkdirp") , lifecycle = require("./utils/lifecycle.js") @@ -75,18 +74,12 @@ function install (args, cb_) { function cb (er, installed) { if (er) return cb_(er) - output = output || require("./utils/output.js") - var tree = treeify(installed) , pretty = prettify(tree, installed).trim() - if (pretty) output.write(pretty, afterWrite) - else afterWrite() - - function afterWrite (er) { - if (er) return cb_(er) - save(where, installed, tree, pretty, cb_) - } + if (pretty) console.log(pretty) + if (er) return cb_(er) + save(where, installed, tree, pretty, cb_) } // the /path/to/node_modules/.. diff --git a/deps/npm/lib/link.js b/deps/npm/lib/link.js index 1e99974975..e9127960c5 100644 --- a/deps/npm/lib/link.js +++ b/deps/npm/lib/link.js @@ -9,7 +9,6 @@ var npm = require("./npm.js") , chain = require("slide").chain , path = require("path") , rm = require("rimraf") - , output = require("./utils/output.js") , build = require("./build.js") module.exports = link @@ -153,8 +152,8 @@ function resultPrinter (pkg, src, dest, rp, cb) { return parseableOutput(dest, rp || src, cb) } if (rp === src) rp = null - output.write(where+" -> " + src - +(rp ? " -> " + rp: ""), cb) + console.log(where + " -> " + src + (rp ? " -> " + rp: "")) + cb() } function parseableOutput (dest, rp, cb) { @@ -165,5 +164,6 @@ function parseableOutput (dest, rp, cb) { // *just* print the target folder. // However, we don't actually ever read the version number, so // the second field is always blank. - output.write(dest + "::" + rp, cb) + console.log(dest + "::" + rp) + cb() } diff --git a/deps/npm/lib/ls.js b/deps/npm/lib/ls.js index 2b45ca3dce..3c649f2442 100644 --- a/deps/npm/lib/ls.js +++ b/deps/npm/lib/ls.js @@ -9,7 +9,6 @@ module.exports = exports = ls var npm = require("./npm.js") , readInstalled = require("read-installed") - , output = require("./utils/output.js") , log = require("npmlog") , path = require("path") , archy = require("archy") @@ -58,7 +57,8 @@ function ls (args, silent, cb) { } else if (data) { out = makeArchy(bfs, long, dir) } - output.write(out, function (er) { cb(er, data, lite) }) + console.log(out) + cb(null, data, lite) }) } @@ -205,12 +205,17 @@ function makeArchy (data, long, dir) { } function makeArchy_ (data, long, dir, depth, parent, d) { + var color = npm.color if (typeof data === "string") { if (depth < npm.config.get("depth")) { // just missing var p = parent.link || parent.path log.warn("unmet dependency", "%s in %s", d+" "+data, p) - data = "\033[31;40mUNMET DEPENDENCY\033[0m " + d + " " + data + var unmet = "UNMET DEPENDENCY" + if (color) { + unmet = "\033[31;40m" + unmet + "\033[0m" + } + data = unmet + " " + d + " " + data } else { data = d+"@"+ data +" (max depth reached)" } @@ -221,17 +226,23 @@ function makeArchy_ (data, long, dir, depth, parent, d) { // the top level is a bit special. out.label = data._id || "" if (data._found === true && data._id) { - out.label = "\033[33;40m" + out.label.trim() + "\033[m " + var pre = color ? "\033[33;40m" : "" + , post = color ? "\033[m" : "" + out.label = pre + out.label.trim() + post + " " } if (data.link) out.label += " -> " + data.link if (data.invalid) { if (data.realName !== data.name) out.label += " ("+data.realName+")" - out.label += " \033[31;40minvalid\033[0m" + out.label += " " + (color ? "\033[31;40m" : "") + + "invalid" + + (color ? "\033[0m" : "") } if (data.extraneous && data.path !== dir) { - out.label += " \033[32;40mextraneous\033[0m" + out.label += " " + (color ? "\033[32;40m" : "") + + "extraneous" + + (color ? "\033[0m" : "") } if (long) { diff --git a/deps/npm/lib/npm.js b/deps/npm/lib/npm.js index dd85b832b7..a6a72ff3e0 100644 --- a/deps/npm/lib/npm.js +++ b/deps/npm/lib/npm.js @@ -262,10 +262,12 @@ function load (npm, conf, cb) { //console.error("about to look up configs") ini.resolveConfigs(conf, function (er) { + var color = npm.config.get("color") + log.level = npm.config.get("loglevel") log.heading = "npm" log.stream = npm.config.get("logstream") - switch (npm.config.get("color")) { + switch (color) { case "always": log.enableColor(); break case false: log.disableColor(); break } @@ -273,6 +275,23 @@ function load (npm, conf, cb) { if (er) return cb(er) + // see if we need to color normal output + switch (color) { + case "always": + npm.color = true + break + case false: + npm.color = false + break + default: + var tty = require("tty") + if (process.stdout.isTTY) npm.color = true + else if (!tty.isatty) npm.color = true + else if (tty.isatty(1)) npm.color = true + else npm.color = false + break + } + // at this point the configs are all set. // go ahead and spin up the registry client. var token diff --git a/deps/npm/lib/outdated.js b/deps/npm/lib/outdated.js index 15cea82fa6..0c9c66952c 100644 --- a/deps/npm/lib/outdated.js +++ b/deps/npm/lib/outdated.js @@ -30,12 +30,10 @@ function outdated (args, silent, cb) { if (typeof cb !== "function") cb = silent, silent = false var dir = path.resolve(npm.dir, "..") outdated_(args, dir, {}, function (er, list) { - function cb_ (er) { cb(er, list) } - - if (er || silent) return cb_(er) + if (er || silent) return cb(er) var outList = list.map(makePretty) - require("./utils/output.js").write(outList.join("\n")) - cb_() + console.log(outList.join("\n")) + cb(null, list) }) } diff --git a/deps/npm/lib/owner.js b/deps/npm/lib/owner.js index a7cc5bdacf..16008b5386 100644 --- a/deps/npm/lib/owner.js +++ b/deps/npm/lib/owner.js @@ -67,7 +67,6 @@ owner.completion = function (opts, cb) { var npm = require("./npm.js") , registry = npm.registry , log = require("npmlog") - , output , readJson = require("read-package-json") function owner (args, cb) { @@ -91,8 +90,8 @@ function ls (pkg, cb) { var owners = data.maintainers if (!owners || !owners.length) msg = "admin party!" else msg = owners.map(function (o) { return o.name +" <"+o.email+">" }).join("\n") - output = output || require("./utils/output.js") - output.write(msg, function (er) { cb(er, owners) }) + console.log(msg) + cb(er, owners) }) } diff --git a/deps/npm/lib/pack.js b/deps/npm/lib/pack.js index 1e3bd0c56d..302aa81f25 100644 --- a/deps/npm/lib/pack.js +++ b/deps/npm/lib/pack.js @@ -7,7 +7,6 @@ module.exports = pack var npm = require("./npm.js") , install = require("./install.js") , cache = require("./cache.js") - , output = require("./utils/output.js") , fs = require("graceful-fs") , chain = require("slide").chain , path = require("path") @@ -35,7 +34,8 @@ function printFiles (files, cb) { files = files.map(function (file) { return path.relative(cwd, file) }) - output.write(files.join("\n"), cb) + console.log(files.join("\n")) + cb() } // add to cache, then cp to the cwd diff --git a/deps/npm/lib/prefix.js b/deps/npm/lib/prefix.js index f37aacf2c5..e002edea15 100644 --- a/deps/npm/lib/prefix.js +++ b/deps/npm/lib/prefix.js @@ -1,10 +1,11 @@ module.exports = prefix var npm = require("./npm.js") - , output = require("./utils/output.js") prefix.usage = "npm prefix\nnpm prefix -g\n(just prints the prefix folder)" -function prefix (args, cb) { - output.write(npm.prefix, function (er) { cb(er, npm.prefix) }) +function prefix (args, silent, cb) { + if (typeof cb !== "function") cb = silent, silent = false + if (!silent) console.log(npm.prefix) + process.nextTick(cb.bind(this, null, npm.prefix)) } diff --git a/deps/npm/lib/publish.js b/deps/npm/lib/publish.js index 348862dbb4..fd22b8e606 100644 --- a/deps/npm/lib/publish.js +++ b/deps/npm/lib/publish.js @@ -10,7 +10,6 @@ var npm = require("./npm.js") , fs = require("graceful-fs") , lifecycle = require("./utils/lifecycle.js") , chain = require("slide").chain - , output = require("./utils/output.js") publish.usage = "npm publish <tarball>" + "\nnpm publish <folder>" @@ -98,7 +97,8 @@ function regPublish (data, isRetry, arg, cachedir, cb) { }) } if (er) return cb(er) - output.write("+ " + data._id, cb) + console.log("+ " + data._id) + cb() }) }) } diff --git a/deps/npm/lib/rebuild.js b/deps/npm/lib/rebuild.js index c9f623d6ca..16451fbbb8 100644 --- a/deps/npm/lib/rebuild.js +++ b/deps/npm/lib/rebuild.js @@ -6,7 +6,6 @@ var readInstalled = require("read-installed") , log = require("npmlog") , path = require("path") , npm = require("./npm.js") - , output = require("./utils/output.js") , asyncMap = require("slide").asyncMap , fs = require("graceful-fs") , exec = require("./utils/exec.js") @@ -51,9 +50,10 @@ function cleanBuild (folders, set, cb) { if (er) return cb(er) npm.commands.build(folders, function (er) { if (er) return cb(er) - output.write(folders.map(function (f) { + console.log(folders.map(function (f) { return set[f] + " " + f - }).join("\n"), cb) + }).join("\n")) + cb() }) }) } diff --git a/deps/npm/lib/root.js b/deps/npm/lib/root.js index 59ccc0b084..409b20b785 100644 --- a/deps/npm/lib/root.js +++ b/deps/npm/lib/root.js @@ -1,10 +1,11 @@ module.exports = root var npm = require("./npm.js") - , output = require("./utils/output.js") root.usage = "npm root\nnpm root -g\n(just prints the root folder)" -function root (args, cb) { - output.write(npm.dir, function (er) { cb(er, npm.dir) }) +function root (args, silent, cb) { + if (typeof cb !== "function") cb = silent, silent = false + if (!silent) console.log(npm.dir) + process.nextTic(cb.bind(this, null, npm.dir)) } diff --git a/deps/npm/lib/search.js b/deps/npm/lib/search.js index 9ed712bcc6..8a7238cb1d 100644 --- a/deps/npm/lib/search.js +++ b/deps/npm/lib/search.js @@ -4,7 +4,6 @@ module.exports = exports = search var npm = require("./npm.js") , registry = npm.registry , semver = require("semver") - , output search.usage = "npm search [some search terms ...]" @@ -30,9 +29,9 @@ search.completion = function (opts, cb) { }) } -function search (args, silent, staleness, cb_) { - if (typeof cb_ !== "function") cb_ = staleness, staleness = 600 - if (typeof cb_ !== "function") cb_ = silent, silent = false +function search (args, silent, staleness, cb) { + if (typeof cb !== "function") cb = staleness, staleness = 600 + if (typeof cb !== "function") cb = silent, silent = false var searchopts = npm.config.get("searchopts") , searchexclude = npm.config.get("searchexclude") @@ -51,10 +50,9 @@ function search (args, silent, staleness, cb_) { // now data is the list of data that we want to show. // prettify and print it, and then provide the raw // data to the cb. - if (er || silent) return cb_(er, data) - function cb (er) { return cb_(er, data) } - output = output || require("./utils/output.js") - output.write(prettify(data, args), cb) + if (er || silent) return cb(er, data) + console.log(prettify(data, args)) + cb(null, data) }) } @@ -255,7 +253,9 @@ function addColorMarker (str, arg, i) { function colorize (line) { for (var i = 0; i < cl; i ++) { var m = i + 1 - line = line.split(String.fromCharCode(m)).join("\033["+colors[i]+"m") + var color = npm.color ? "\033["+colors[i]+"m" : "" + line = line.split(String.fromCharCode(m)).join(color) } - return line.split("\u0000").join("\033[0m") + var uncolor = npm.color ? "\033[0m" : "" + return line.split("\u0000").join(uncolor) } diff --git a/deps/npm/lib/shrinkwrap.js b/deps/npm/lib/shrinkwrap.js index cdad89abc4..e41f8cf63e 100644 --- a/deps/npm/lib/shrinkwrap.js +++ b/deps/npm/lib/shrinkwrap.js @@ -4,7 +4,6 @@ module.exports = exports = shrinkwrap var npm = require("./npm.js") - , output = require("./utils/output.js") , log = require("npmlog") , fs = require("fs") , path = require("path") @@ -42,8 +41,7 @@ function shrinkwrap_ (pkginfo, silent, cb) { fs.writeFile(file, swdata, function (er) { if (er) return cb(er) if (silent) return cb(null, pkginfo) - output.write("wrote npm-shrinkwrap.json", function (er) { - cb(er, pkginfo) - }) + console.log("wrote npm-shrinkwrap.json") + cb(null, pkginfo) }) } diff --git a/deps/npm/lib/star.js b/deps/npm/lib/star.js index fc4fb96f1b..33b12471a8 100644 --- a/deps/npm/lib/star.js +++ b/deps/npm/lib/star.js @@ -5,7 +5,6 @@ var npm = require("./npm.js") , registry = npm.registry , log = require("npmlog") , asyncMap = require("slide").asyncMap - , output = require("./utils/output.js") star.usage = "npm star <package> [pkg, pkg, ...]\n" + "npm unstar <package> [pkg, pkg, ...]" @@ -25,7 +24,7 @@ function star (args, cb) { asyncMap(args, function (pkg, cb) { registry.star(pkg, using, function (er, data, raw, req) { if (!er) { - output.write(s + " "+pkg, npm.config.get("outfd")) + console.log(s + " "+pkg) log.verbose("star", data) } cb(er, data, raw, req) diff --git a/deps/npm/lib/submodule.js b/deps/npm/lib/submodule.js index a0d215994d..c1523984c9 100644 --- a/deps/npm/lib/submodule.js +++ b/deps/npm/lib/submodule.js @@ -6,7 +6,6 @@ module.exports = submodule var npm = require("./npm.js") , exec = require("./utils/exec.js") - , output = require("./utils/output.js") , cache = require("./cache.js") , asyncMap = require("slide").asyncMap , chain = require("slide").chain diff --git a/deps/npm/lib/unpublish.js b/deps/npm/lib/unpublish.js index 9d0c955f97..def308525c 100644 --- a/deps/npm/lib/unpublish.js +++ b/deps/npm/lib/unpublish.js @@ -6,7 +6,6 @@ var log = require("npmlog") , registry = npm.registry , readJson = require("read-package-json") , path = require("path") - , output = require("./utils/output.js") unpublish.usage = "npm unpublish <project>[@<version>]" @@ -67,7 +66,8 @@ function unpublish (args, cb) { function gotProject (project, version, cb_) { function cb (er) { if (er) return cb_(er) - output.write("- " + project + (version ? "@" + version : ""), cb_) + console.log("- " + project + (version ? "@" + version : "")) + cb_() } // remove from the cache first diff --git a/deps/npm/lib/utils/config-defs.js b/deps/npm/lib/utils/config-defs.js index 4237ae6baf..763f5b7312 100644 --- a/deps/npm/lib/utils/config-defs.js +++ b/deps/npm/lib/utils/config-defs.js @@ -168,7 +168,6 @@ Object.defineProperty(exports, "defaults", {get: function () { , npaturl : "http://npat.npmjs.org/" , npat : false , "onload-script" : false - , outfd : 1 , parseable : false , pre: false , prefix : globalPrefix @@ -259,7 +258,6 @@ exports.types = , npaturl : url , npat : Boolean , "onload-script" : [null, String] - , outfd : [Number, Stream] , parseable : Boolean , pre: Boolean , prefix: path diff --git a/deps/npm/lib/utils/lifecycle.js b/deps/npm/lib/utils/lifecycle.js index 90b5002b6d..7fc900884d 100644 --- a/deps/npm/lib/utils/lifecycle.js +++ b/deps/npm/lib/utils/lifecycle.js @@ -9,7 +9,6 @@ var log = require("npmlog") , fs = require("graceful-fs") , chain = require("slide").chain , constants = require("constants") - , output = require("./output.js") , Stream = require("stream").Stream , PATH = "PATH" @@ -149,32 +148,29 @@ function runPackageLifecycle (pkg, env, wd, unsafe, cb) { var note = "\n> " + pkg._id + " " + stage + " " + wd + "\n> " + cmd + "\n" - output.write(note, function (er) { - if (er) return cb(er) - - exec( sh, [shFlag, cmd], env, true, wd - , user, group - , function (er, code, stdout, stderr) { - if (er && !npm.ROLLBACK) { - log.info(pkg._id, "Failed to exec "+stage+" script") - er.message = pkg._id + " " - + stage + ": `" + env.npm_lifecycle_script+"`\n" - + er.message - if (er.code !== "EPERM") { - er.code = "ELIFECYCLE" - } - er.pkgid = pkg._id - er.stage = stage - er.script = env.npm_lifecycle_script - er.pkgname = pkg.name - return cb(er) - } else if (er) { - log.error(pkg._id+"."+stage, er) - log.error(pkg._id+"."+stage, "continuing anyway") - return cb() + console.log(note) + exec( sh, [shFlag, cmd], env, true, wd + , user, group + , function (er, code, stdout, stderr) { + if (er && !npm.ROLLBACK) { + log.info(pkg._id, "Failed to exec "+stage+" script") + er.message = pkg._id + " " + + stage + ": `" + env.npm_lifecycle_script+"`\n" + + er.message + if (er.code !== "EPERM") { + er.code = "ELIFECYCLE" } - cb(er) - }) + er.pkgid = pkg._id + er.stage = stage + er.script = env.npm_lifecycle_script + er.pkgname = pkg.name + return cb(er) + } else if (er) { + log.error(pkg._id+"."+stage, er) + log.error(pkg._id+"."+stage, "continuing anyway") + return cb() + } + cb(er) }) } diff --git a/deps/npm/lib/utils/output.js b/deps/npm/lib/utils/output.js deleted file mode 100644 index b705153ad5..0000000000 --- a/deps/npm/lib/utils/output.js +++ /dev/null @@ -1,157 +0,0 @@ - -// centralized stdout writer. - -exports.doColor = doColor -exports.write = write - -var npm = require("../npm.js") - , tty = require("tty") - , streams = {} - , ttys = {} - , net = require("net") - , util = require("util") - , deadStreams = {} - -function doColor (stream) { - var conf = npm.config.get("color") - return (!conf) ? false - : (conf === "always") ? true - : isatty(stream) -} -function isatty (stream) { - // console.error("isatty?", stream) - if (!tty.isatty) return true - if (!stream) return false - if (stream.isTTY) return true - if (stream && (typeof stream.fd === "number")) { - stream.isTTY = tty.isatty(stream.fd) - } - return stream.isTTY -} - -function write (args, stream, lf, cb) { - // console.error("write", [args, stream, lf, cb]) - if (typeof cb !== "function" && typeof lf === "function") { - cb = lf - lf = null - } - if (typeof cb !== "function" && typeof stream === "function") { - cb = stream - stream = npm.config.get("outfd") - } - - stream = getStream(stream) - // console.error("gotStream", stream) - if (lf == null) lf = isatty(stream) - if (!stream) return cb && cb(), false - if (!Array.isArray(args)) args = [args] - - // console.error("write", args) - - var msg = "" - , colored = doColor(stream) - msg = args.map(function (arg) { - if (typeof arg !== "string") { - return util.inspect(arg, false, 5, colored) + "\n" - } - if (!colored) arg = arg.replace(/\033\[[0-9;]*m/g, '') - if (!npm.config.get("unicode")) { - arg = arg.replace(/â””/g, "`") - .replace(/─/g, "-") - .replace(/│/g, "|") - .replace(/├/g, "+") - .replace(/┬/g, "-") - } - return arg - }).join(" ") - - // listen to the "output" event to cancel/modify/redirect - npm.output = {stream:stream, message:msg} - npm.emit("output", npm.output) - if (!npm.output) return cb && cb(), false // cancelled - stream = npm.output.stream - msg = npm.output.message - - // EPIPE errors just mean that the stream is not listening - // any more. Mark the stream as dead, and return. - if (deadStreams[stream.fd]) { - return cb && cb(), false - } - if (!deadStreams.hasOwnProperty(stream.fd)) { - deadStreams[stream.fd] = false - stream.on("error", function (er) { - if (er.code === "EPIPE") { - deadStreams[stream.fd] = true - return cb && cb() - } - if (stream.listeners("error").length === 1) { - throw er - } - }) - } - - // use the \r\n in case we're in raw mode. - msg = msg.split(/\r?\n/).concat("").join(lf ? "\r\n" : "\n") - // output to stderr should be synchronous - if (stream === process.stderr || stream.fd === 2) { - process.stderr.write(msg) - if (cb) cb() - return true - } - // console.error("writing ", msg) - var flushed = stream.write(msg) - if (flushed && cb) { - process.nextTick(cb) - } else if (cb) { - stream.once("drain", cb) - } - return flushed -} - -var hadError = false -function getStream (fd) { - if (hadError) return - - var stream - if (!fd && fd !== 0) return - if (typeof fd === "string") fd = +fd - - // console.error("getStream", fd, hadError) - - if (fd && typeof fd === "object") { - stream = fd - fd = fd.fd - } else if (streams[fd]) { - stream = streams[fd] - } else { - switch (fd) { - case 1: - stream = process.stdout - stream.fd = fd - stream.writable = true - break - case 2: - stream = process.stderr - stream.fd = fd - stream.writable = true - break - default: - try { - stream = new net.Stream(fd) - if (!stream || !stream.writable) { - throw new Error("Stream not writable") - } - } catch (ex) { - // if this fails, then regular logging is most likely broken. - var er = new Error("cannot output to fd "+fd + ": "+ - (ex.stack || ex.message).substr(7) + "\n") - console.error(er.stack) - hadError = true - process.exit(1) - } - } - } - - if (!stream || !stream.writable) return - return streams[fd] = stream -} diff --git a/deps/npm/lib/view.js b/deps/npm/lib/view.js index e291031c14..9b34df3bf2 100644 --- a/deps/npm/lib/view.js +++ b/deps/npm/lib/view.js @@ -44,7 +44,6 @@ var npm = require("./npm.js") , ini = require("ini") , log = require("npmlog") , util = require("util") - , output , semver = require("semver") function view (args, silent, cb) { @@ -184,7 +183,6 @@ function printData (data, name, cb) { , msg = "" , showVersions = versions.length > 1 , showFields - function cb_ (er) { return cb(er, data) } versions.forEach(function (v, i) { var fields = Object.keys(data[v]) @@ -200,8 +198,9 @@ function printData (data, name, cb) { + (showFields ? f : "") + d + "\n" }) }) - output = output || require("./utils/output.js") - output.write(msg, cb_) + + console.log(msg) + cb(null, data) } function cleanup (data) { if (Array.isArray(data)) { diff --git a/deps/npm/lib/whoami.js b/deps/npm/lib/whoami.js index b6e495253b..664cbdbb0d 100644 --- a/deps/npm/lib/whoami.js +++ b/deps/npm/lib/whoami.js @@ -1,12 +1,13 @@ module.exports = whoami var npm = require("./npm.js") - , output = require("./utils/output.js") whoami.usage = "npm whoami\n(just prints the 'username' config)" -function whoami (args, cb) { +function whoami (args, silent, cb) { + if (typeof cb !== "function") cb = silent, silent = false var me = npm.config.get("username") - if (!me) me = "Not authed. Run 'npm adduser'" - output.write(me, cb) + msg = me ? me : "Not authed. Run 'npm adduser'" + if (!silent) console.log(msg) + process.nextTick(cb.bind(this, null, me)) } diff --git a/deps/npm/man/man1/config.1 b/deps/npm/man/man1/config.1 index a67e5acfea..f5e594bebb 100644 --- a/deps/npm/man/man1/config.1 +++ b/deps/npm/man/man1/config.1 @@ -861,6 +861,10 @@ It cannot be set from the command line, but if you are using npm programmatically, you may wish to send logs to somewhere other than stderr\. . +.P +If the \fBcolor\fR config is set to true, then this stream will receive +colored output if it is a TTY\. +. .SS "long" . .IP "\(bu" 4 diff --git a/deps/npm/man/man1/list.1 b/deps/npm/man/man1/list.1 index 7d26e62523..8b55e8d2f0 100644 --- a/deps/npm/man/man1/list.1 +++ b/deps/npm/man/man1/list.1 @@ -29,7 +29,7 @@ For example, running \fBnpm ls promzard\fR in npm\'s source tree will show: .IP "" 4 . .nf -npm@1.1.41 /path/to/npm +npm@1.1.43 /path/to/npm └─┬ init\-package\-json@0\.0\.4 └── promzard@0\.1\.5 . diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1 index fd3eb006b3..57559c836d 100644 --- a/deps/npm/man/man1/npm.1 +++ b/deps/npm/man/man1/npm.1 @@ -14,7 +14,7 @@ npm <command> [args] .fi . .SH "VERSION" -1.1.41 +1.1.43 . .SH "DESCRIPTION" npm is the package manager for the Node JavaScript platform\. It puts diff --git a/deps/npm/man/man3/npm.3 b/deps/npm/man/man3/npm.3 index 71ba61d327..7a322c33ea 100644 --- a/deps/npm/man/man3/npm.3 +++ b/deps/npm/man/man3/npm.3 @@ -21,7 +21,7 @@ npm\.load(configObject, function (er, npm) { .fi . .SH "VERSION" -1.1.41 +1.1.43 . .SH "DESCRIPTION" This is the API documentation for npm\. diff --git a/deps/npm/node_modules/block-stream/LICENCE b/deps/npm/node_modules/block-stream/LICENCE new file mode 100644 index 0000000000..74489e2e26 --- /dev/null +++ b/deps/npm/node_modules/block-stream/LICENCE @@ -0,0 +1,25 @@ +Copyright (c) Isaac Z. Schlueter +All rights reserved. + +The BSD License + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/deps/npm/node_modules/block-stream/bench/block-stream-pause.js b/deps/npm/node_modules/block-stream/bench/block-stream-pause.js new file mode 100644 index 0000000000..9328844aa6 --- /dev/null +++ b/deps/npm/node_modules/block-stream/bench/block-stream-pause.js @@ -0,0 +1,70 @@ +var BlockStream = require("../block-stream.js") + +var blockSizes = [16, 25, 1024] + , writeSizes = [4, 8, 15, 16, 17, 64, 100] + , writeCounts = [1, 10, 100] + , tap = require("tap") + +writeCounts.forEach(function (writeCount) { +blockSizes.forEach(function (blockSize) { +writeSizes.forEach(function (writeSize) { + tap.test("writeSize=" + writeSize + + " blockSize="+blockSize + + " writeCount="+writeCount, function (t) { + var f = new BlockStream(blockSize, {nopad: true }) + + var actualChunks = 0 + var actualBytes = 0 + var timeouts = 0 + + f.on("data", function (c) { + timeouts ++ + + actualChunks ++ + actualBytes += c.length + + // make sure that no data gets corrupted, and basic sanity + var before = c.toString() + // simulate a slow write operation + f.pause() + setTimeout(function () { + timeouts -- + + var after = c.toString() + t.equal(after, before, "should not change data") + + // now corrupt it, to find leaks. + for (var i = 0; i < c.length; i ++) { + c[i] = "x".charCodeAt(0) + } + f.resume() + }, 100) + }) + + f.on("end", function () { + // round up to the nearest block size + var expectChunks = Math.ceil(writeSize * writeCount * 2 / blockSize) + var expectBytes = writeSize * writeCount * 2 + t.equal(actualBytes, expectBytes, + "bytes=" + expectBytes + " writeSize=" + writeSize) + t.equal(actualChunks, expectChunks, + "chunks=" + expectChunks + " writeSize=" + writeSize) + + // wait for all the timeout checks to finish, then end the test + setTimeout(function WAIT () { + if (timeouts > 0) return setTimeout(WAIT) + t.end() + }, 100) + }) + + for (var i = 0; i < writeCount; i ++) { + var a = new Buffer(writeSize); + for (var j = 0; j < writeSize; j ++) a[j] = "a".charCodeAt(0) + var b = new Buffer(writeSize); + for (var j = 0; j < writeSize; j ++) b[j] = "b".charCodeAt(0) + f.write(a) + f.write(b) + } + f.end() + }) +}) }) }) diff --git a/deps/npm/node_modules/block-stream/bench/block-stream.js b/deps/npm/node_modules/block-stream/bench/block-stream.js new file mode 100644 index 0000000000..1141f3a84c --- /dev/null +++ b/deps/npm/node_modules/block-stream/bench/block-stream.js @@ -0,0 +1,68 @@ +var BlockStream = require("../block-stream.js") + +var blockSizes = [16, 25, 1024] + , writeSizes = [4, 8, 15, 16, 17, 64, 100] + , writeCounts = [1, 10, 100] + , tap = require("tap") + +writeCounts.forEach(function (writeCount) { +blockSizes.forEach(function (blockSize) { +writeSizes.forEach(function (writeSize) { + tap.test("writeSize=" + writeSize + + " blockSize="+blockSize + + " writeCount="+writeCount, function (t) { + var f = new BlockStream(blockSize, {nopad: true }) + + var actualChunks = 0 + var actualBytes = 0 + var timeouts = 0 + + f.on("data", function (c) { + timeouts ++ + + actualChunks ++ + actualBytes += c.length + + // make sure that no data gets corrupted, and basic sanity + var before = c.toString() + // simulate a slow write operation + setTimeout(function () { + timeouts -- + + var after = c.toString() + t.equal(after, before, "should not change data") + + // now corrupt it, to find leaks. + for (var i = 0; i < c.length; i ++) { + c[i] = "x".charCodeAt(0) + } + }, 100) + }) + + f.on("end", function () { + // round up to the nearest block size + var expectChunks = Math.ceil(writeSize * writeCount * 2 / blockSize) + var expectBytes = writeSize * writeCount * 2 + t.equal(actualBytes, expectBytes, + "bytes=" + expectBytes + " writeSize=" + writeSize) + t.equal(actualChunks, expectChunks, + "chunks=" + expectChunks + " writeSize=" + writeSize) + + // wait for all the timeout checks to finish, then end the test + setTimeout(function WAIT () { + if (timeouts > 0) return setTimeout(WAIT) + t.end() + }, 100) + }) + + for (var i = 0; i < writeCount; i ++) { + var a = new Buffer(writeSize); + for (var j = 0; j < writeSize; j ++) a[j] = "a".charCodeAt(0) + var b = new Buffer(writeSize); + for (var j = 0; j < writeSize; j ++) b[j] = "b".charCodeAt(0) + f.write(a) + f.write(b) + } + f.end() + }) +}) }) }) diff --git a/deps/npm/node_modules/block-stream/bench/dropper-pause.js b/deps/npm/node_modules/block-stream/bench/dropper-pause.js new file mode 100644 index 0000000000..93e4068eea --- /dev/null +++ b/deps/npm/node_modules/block-stream/bench/dropper-pause.js @@ -0,0 +1,70 @@ +var BlockStream = require("dropper") + +var blockSizes = [16, 25, 1024] + , writeSizes = [4, 8, 15, 16, 17, 64, 100] + , writeCounts = [1, 10, 100] + , tap = require("tap") + +writeCounts.forEach(function (writeCount) { +blockSizes.forEach(function (blockSize) { +writeSizes.forEach(function (writeSize) { + tap.test("writeSize=" + writeSize + + " blockSize="+blockSize + + " writeCount="+writeCount, function (t) { + var f = new BlockStream(blockSize, {nopad: true }) + + var actualChunks = 0 + var actualBytes = 0 + var timeouts = 0 + + f.on("data", function (c) { + timeouts ++ + + actualChunks ++ + actualBytes += c.length + + // make sure that no data gets corrupted, and basic sanity + var before = c.toString() + // simulate a slow write operation + f.pause() + setTimeout(function () { + timeouts -- + + var after = c.toString() + t.equal(after, before, "should not change data") + + // now corrupt it, to find leaks. + for (var i = 0; i < c.length; i ++) { + c[i] = "x".charCodeAt(0) + } + f.resume() + }, 100) + }) + + f.on("end", function () { + // round up to the nearest block size + var expectChunks = Math.ceil(writeSize * writeCount * 2 / blockSize) + var expectBytes = writeSize * writeCount * 2 + t.equal(actualBytes, expectBytes, + "bytes=" + expectBytes + " writeSize=" + writeSize) + t.equal(actualChunks, expectChunks, + "chunks=" + expectChunks + " writeSize=" + writeSize) + + // wait for all the timeout checks to finish, then end the test + setTimeout(function WAIT () { + if (timeouts > 0) return setTimeout(WAIT) + t.end() + }, 100) + }) + + for (var i = 0; i < writeCount; i ++) { + var a = new Buffer(writeSize); + for (var j = 0; j < writeSize; j ++) a[j] = "a".charCodeAt(0) + var b = new Buffer(writeSize); + for (var j = 0; j < writeSize; j ++) b[j] = "b".charCodeAt(0) + f.write(a) + f.write(b) + } + f.end() + }) +}) }) }) diff --git a/deps/npm/node_modules/block-stream/bench/dropper.js b/deps/npm/node_modules/block-stream/bench/dropper.js new file mode 100644 index 0000000000..55fa133054 --- /dev/null +++ b/deps/npm/node_modules/block-stream/bench/dropper.js @@ -0,0 +1,68 @@ +var BlockStream = require("dropper") + +var blockSizes = [16, 25, 1024] + , writeSizes = [4, 8, 15, 16, 17, 64, 100] + , writeCounts = [1, 10, 100] + , tap = require("tap") + +writeCounts.forEach(function (writeCount) { +blockSizes.forEach(function (blockSize) { +writeSizes.forEach(function (writeSize) { + tap.test("writeSize=" + writeSize + + " blockSize="+blockSize + + " writeCount="+writeCount, function (t) { + var f = new BlockStream(blockSize, {nopad: true }) + + var actualChunks = 0 + var actualBytes = 0 + var timeouts = 0 + + f.on("data", function (c) { + timeouts ++ + + actualChunks ++ + actualBytes += c.length + + // make sure that no data gets corrupted, and basic sanity + var before = c.toString() + // simulate a slow write operation + setTimeout(function () { + timeouts -- + + var after = c.toString() + t.equal(after, before, "should not change data") + + // now corrupt it, to find leaks. + for (var i = 0; i < c.length; i ++) { + c[i] = "x".charCodeAt(0) + } + }, 100) + }) + + f.on("end", function () { + // round up to the nearest block size + var expectChunks = Math.ceil(writeSize * writeCount * 2 / blockSize) + var expectBytes = writeSize * writeCount * 2 + t.equal(actualBytes, expectBytes, + "bytes=" + expectBytes + " writeSize=" + writeSize) + t.equal(actualChunks, expectChunks, + "chunks=" + expectChunks + " writeSize=" + writeSize) + + // wait for all the timeout checks to finish, then end the test + setTimeout(function WAIT () { + if (timeouts > 0) return setTimeout(WAIT) + t.end() + }, 100) + }) + + for (var i = 0; i < writeCount; i ++) { + var a = new Buffer(writeSize); + for (var j = 0; j < writeSize; j ++) a[j] = "a".charCodeAt(0) + var b = new Buffer(writeSize); + for (var j = 0; j < writeSize; j ++) b[j] = "b".charCodeAt(0) + f.write(a) + f.write(b) + } + f.end() + }) +}) }) }) diff --git a/deps/npm/node_modules/block-stream/package.json b/deps/npm/node_modules/block-stream/package.json index 1080b6bc9a..273b1dcfe3 100644 --- a/deps/npm/node_modules/block-stream/package.json +++ b/deps/npm/node_modules/block-stream/package.json @@ -1,14 +1,18 @@ { - "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)", + "author": { + "name": "Isaac Z. Schlueter", + "email": "i@izs.me", + "url": "http://blog.izs.me/" + }, "name": "block-stream", "description": "a stream of blocks", - "version": "0.0.5", + "version": "0.0.6", "repository": { "type": "git", "url": "git://github.com/isaacs/block-stream.git" }, "engines": { - "node": "0.4 || ~0.5.8 || 0.6 || 0.7" + "node": "0.4 || >=0.5.8" }, "main": "block-stream.js", "dependencies": { @@ -19,5 +23,9 @@ }, "scripts": { "test": "tap test/" - } + }, + "license": "BSD", + "readme": "# block-stream\n\nA stream of blocks.\n\nWrite data into it, and it'll output data in buffer blocks the size you\nspecify, padding with zeroes if necessary.\n\n```javascript\nvar block = new BlockStream(512)\nfs.createReadStream(\"some-file\").pipe(block)\nblock.pipe(fs.createWriteStream(\"block-file\"))\n```\n\nWhen `.end()` or `.flush()` is called, it'll pad the block with zeroes.\n", + "_id": "block-stream@0.0.6", + "_from": "block-stream@*" } diff --git a/deps/npm/node_modules/block-stream/test/basic.js b/deps/npm/node_modules/block-stream/test/basic.js new file mode 100644 index 0000000000..b4b930511e --- /dev/null +++ b/deps/npm/node_modules/block-stream/test/basic.js @@ -0,0 +1,27 @@ +var tap = require("tap") + , BlockStream = require("../block-stream.js") + +tap.test("basic test", function (t) { + var b = new BlockStream(16) + var fs = require("fs") + var fstr = fs.createReadStream(__filename, {encoding: "utf8"}) + fstr.pipe(b) + + var stat + t.doesNotThrow(function () { + stat = fs.statSync(__filename) + }, "stat should not throw") + + var totalBytes = 0 + b.on("data", function (c) { + t.equal(c.length, 16, "chunks should be 16 bytes long") + t.type(c, Buffer, "chunks should be buffer objects") + totalBytes += c.length + }) + b.on("end", function () { + var expectedBytes = stat.size + (16 - stat.size % 16) + t.equal(totalBytes, expectedBytes, "Should be multiple of 16") + t.end() + }) + +}) diff --git a/deps/npm/node_modules/block-stream/test/nopad-thorough.js b/deps/npm/node_modules/block-stream/test/nopad-thorough.js new file mode 100644 index 0000000000..7a8de88b5b --- /dev/null +++ b/deps/npm/node_modules/block-stream/test/nopad-thorough.js @@ -0,0 +1,68 @@ +var BlockStream = require("../block-stream.js") + +var blockSizes = [16]//, 25]//, 1024] + , writeSizes = [4, 15, 16, 17, 64 ]//, 64, 100] + , writeCounts = [1, 10]//, 100] + , tap = require("tap") + +writeCounts.forEach(function (writeCount) { +blockSizes.forEach(function (blockSize) { +writeSizes.forEach(function (writeSize) { + tap.test("writeSize=" + writeSize + + " blockSize="+blockSize + + " writeCount="+writeCount, function (t) { + var f = new BlockStream(blockSize, {nopad: true }) + + var actualChunks = 0 + var actualBytes = 0 + var timeouts = 0 + + f.on("data", function (c) { + timeouts ++ + + actualChunks ++ + actualBytes += c.length + + // make sure that no data gets corrupted, and basic sanity + var before = c.toString() + // simulate a slow write operation + setTimeout(function () { + timeouts -- + + var after = c.toString() + t.equal(after, before, "should not change data") + + // now corrupt it, to find leaks. + for (var i = 0; i < c.length; i ++) { + c[i] = "x".charCodeAt(0) + } + }, 100) + }) + + f.on("end", function () { + // round up to the nearest block size + var expectChunks = Math.ceil(writeSize * writeCount * 2 / blockSize) + var expectBytes = writeSize * writeCount * 2 + t.equal(actualBytes, expectBytes, + "bytes=" + expectBytes + " writeSize=" + writeSize) + t.equal(actualChunks, expectChunks, + "chunks=" + expectChunks + " writeSize=" + writeSize) + + // wait for all the timeout checks to finish, then end the test + setTimeout(function WAIT () { + if (timeouts > 0) return setTimeout(WAIT) + t.end() + }, 100) + }) + + for (var i = 0; i < writeCount; i ++) { + var a = new Buffer(writeSize); + for (var j = 0; j < writeSize; j ++) a[j] = "a".charCodeAt(0) + var b = new Buffer(writeSize); + for (var j = 0; j < writeSize; j ++) b[j] = "b".charCodeAt(0) + f.write(a) + f.write(b) + } + f.end() + }) +}) }) }) diff --git a/deps/npm/node_modules/block-stream/test/nopad.js b/deps/npm/node_modules/block-stream/test/nopad.js new file mode 100644 index 0000000000..6d38429fbc --- /dev/null +++ b/deps/npm/node_modules/block-stream/test/nopad.js @@ -0,0 +1,57 @@ +var BlockStream = require("../") +var tap = require("tap") + + +tap.test("don't pad, small writes", function (t) { + var f = new BlockStream(16, { nopad: true }) + t.plan(1) + + f.on("data", function (c) { + t.equal(c.toString(), "abc", "should get 'abc'") + }) + + f.on("end", function () { t.end() }) + + f.write(new Buffer("a")) + f.write(new Buffer("b")) + f.write(new Buffer("c")) + f.end() +}) + +tap.test("don't pad, exact write", function (t) { + var f = new BlockStream(16, { nopad: true }) + t.plan(1) + + var first = true + f.on("data", function (c) { + if (first) { + first = false + t.equal(c.toString(), "abcdefghijklmnop", "first chunk") + } else { + t.fail("should only get one") + } + }) + + f.on("end", function () { t.end() }) + + f.end(new Buffer("abcdefghijklmnop")) +}) + +tap.test("don't pad, big write", function (t) { + var f = new BlockStream(16, { nopad: true }) + t.plan(2) + + var first = true + f.on("data", function (c) { + if (first) { + first = false + t.equal(c.toString(), "abcdefghijklmnop", "first chunk") + } else { + t.equal(c.toString(), "q") + } + }) + + f.on("end", function () { t.end() }) + + f.end(new Buffer("abcdefghijklmnopq")) +}) diff --git a/deps/npm/node_modules/block-stream/test/pause-resume.js b/deps/npm/node_modules/block-stream/test/pause-resume.js new file mode 100644 index 0000000000..64d0d091da --- /dev/null +++ b/deps/npm/node_modules/block-stream/test/pause-resume.js @@ -0,0 +1,73 @@ +var BlockStream = require("../block-stream.js") + +var blockSizes = [16] + , writeSizes = [15, 16, 17] + , writeCounts = [1, 10]//, 100] + , tap = require("tap") + +writeCounts.forEach(function (writeCount) { +blockSizes.forEach(function (blockSize) { +writeSizes.forEach(function (writeSize) { + tap.test("writeSize=" + writeSize + + " blockSize="+blockSize + + " writeCount="+writeCount, function (t) { + var f = new BlockStream(blockSize) + + var actualChunks = 0 + var actualBytes = 0 + var timeouts = 0 + var paused = false + + f.on("data", function (c) { + timeouts ++ + t.notOk(paused, "should not be paused when emitting data") + + actualChunks ++ + actualBytes += c.length + + // make sure that no data gets corrupted, and basic sanity + var before = c.toString() + // simulate a slow write operation + paused = true + f.pause() + process.nextTick(function () { + var after = c.toString() + t.equal(after, before, "should not change data") + + // now corrupt it, to find leaks. + for (var i = 0; i < c.length; i ++) { + c[i] = "x".charCodeAt(0) + } + paused = false + f.resume() + timeouts -- + }) + }) + + f.on("end", function () { + // round up to the nearest block size + var expectChunks = Math.ceil(writeSize * writeCount * 2 / blockSize) + var expectBytes = expectChunks * blockSize + t.equal(actualBytes, expectBytes, + "bytes=" + expectBytes + " writeSize=" + writeSize) + t.equal(actualChunks, expectChunks, + "chunks=" + expectChunks + " writeSize=" + writeSize) + + // wait for all the timeout checks to finish, then end the test + setTimeout(function WAIT () { + if (timeouts > 0) return setTimeout(WAIT) + t.end() + }, 200) + }) + + for (var i = 0; i < writeCount; i ++) { + var a = new Buffer(writeSize); + for (var j = 0; j < writeSize; j ++) a[j] = "a".charCodeAt(0) + var b = new Buffer(writeSize); + for (var j = 0; j < writeSize; j ++) b[j] = "b".charCodeAt(0) + f.write(a) + f.write(b) + } + f.end() + }) +}) }) }) diff --git a/deps/npm/node_modules/block-stream/test/thorough.js b/deps/npm/node_modules/block-stream/test/thorough.js new file mode 100644 index 0000000000..1cc9ea08a3 --- /dev/null +++ b/deps/npm/node_modules/block-stream/test/thorough.js @@ -0,0 +1,68 @@ +var BlockStream = require("../block-stream.js") + +var blockSizes = [16]//, 25]//, 1024] + , writeSizes = [4, 15, 16, 17, 64 ]//, 64, 100] + , writeCounts = [1, 10]//, 100] + , tap = require("tap") + +writeCounts.forEach(function (writeCount) { +blockSizes.forEach(function (blockSize) { +writeSizes.forEach(function (writeSize) { + tap.test("writeSize=" + writeSize + + " blockSize="+blockSize + + " writeCount="+writeCount, function (t) { + var f = new BlockStream(blockSize) + + var actualChunks = 0 + var actualBytes = 0 + var timeouts = 0 + + f.on("data", function (c) { + timeouts ++ + + actualChunks ++ + actualBytes += c.length + + // make sure that no data gets corrupted, and basic sanity + var before = c.toString() + // simulate a slow write operation + setTimeout(function () { + timeouts -- + + var after = c.toString() + t.equal(after, before, "should not change data") + + // now corrupt it, to find leaks. + for (var i = 0; i < c.length; i ++) { + c[i] = "x".charCodeAt(0) + } + }, 100) + }) + + f.on("end", function () { + // round up to the nearest block size + var expectChunks = Math.ceil(writeSize * writeCount * 2 / blockSize) + var expectBytes = expectChunks * blockSize + t.equal(actualBytes, expectBytes, + "bytes=" + expectBytes + " writeSize=" + writeSize) + t.equal(actualChunks, expectChunks, + "chunks=" + expectChunks + " writeSize=" + writeSize) + + // wait for all the timeout checks to finish, then end the test + setTimeout(function WAIT () { + if (timeouts > 0) return setTimeout(WAIT) + t.end() + }, 100) + }) + + for (var i = 0; i < writeCount; i ++) { + var a = new Buffer(writeSize); + for (var j = 0; j < writeSize; j ++) a[j] = "a".charCodeAt(0) + var b = new Buffer(writeSize); + for (var j = 0; j < writeSize; j ++) b[j] = "b".charCodeAt(0) + f.write(a) + f.write(b) + } + f.end() + }) +}) }) }) diff --git a/deps/npm/node_modules/block-stream/test/two-stream.js b/deps/npm/node_modules/block-stream/test/two-stream.js new file mode 100644 index 0000000000..c6db79a43d --- /dev/null +++ b/deps/npm/node_modules/block-stream/test/two-stream.js @@ -0,0 +1,59 @@ +var log = console.log, + assert = require( 'assert' ), + BlockStream = require("../block-stream.js"), + isize = 0, tsize = 0, fsize = 0, psize = 0, i = 0, + filter = null, paper = null, stack = null, + +// a source data buffer +tsize = 1 * 1024; // <- 1K +stack = new Buffer( tsize ); +for ( ; i < tsize; i++) stack[i] = "x".charCodeAt(0); + +isize = 1 * 1024; // <- initial packet size with 4K no bug! +fsize = 2 * 1024 ; // <- first block-stream size +psize = Math.ceil( isize / 6 ); // <- second block-stream size + +fexpected = Math.ceil( tsize / fsize ); // <- packets expected for first +pexpected = Math.ceil( tsize / psize ); // <- packets expected for second + + +filter = new BlockStream( fsize, { nopad : true } ); +paper = new BlockStream( psize, { nopad : true } ); + + +var fcounter = 0; +filter.on( 'data', function (c) { + // verify that they're not null-padded + for (var i = 0; i < c.length; i ++) { + assert.strictEqual(c[i], "x".charCodeAt(0)) + } + ++fcounter; +} ); + +var pcounter = 0; +paper.on( 'data', function (c) { + // verify that they're not null-padded + for (var i = 0; i < c.length; i ++) { + assert.strictEqual(c[i], "x".charCodeAt(0)) + } + ++pcounter; +} ); + +filter.pipe( paper ); + +filter.on( 'end', function () { + log("fcounter: %s === %s", fcounter, fexpected) + assert.strictEqual( fcounter, fexpected ); +} ); + +paper.on( 'end', function () { + log("pcounter: %s === %s", pcounter, pexpected); + assert.strictEqual( pcounter, pexpected ); +} ); + + +for ( i = 0, j = isize; j <= tsize; j += isize ) { + filter.write( stack.slice( j - isize, j ) ); +} + +filter.end(); diff --git a/deps/npm/node_modules/npm-registry-client/lib/request.js b/deps/npm/node_modules/npm-registry-client/lib/request.js index 384b0d89d5..486226a712 100644 --- a/deps/npm/node_modules/npm-registry-client/lib/request.js +++ b/deps/npm/node_modules/npm-registry-client/lib/request.js @@ -114,14 +114,22 @@ function regRequest (method, where, what, etag, nofollow, cb_) { , function (er, parsed, raw, response) { // Only retry on 408, 5xx or no `response`. var statusCode = response && response.statusCode - var statusRetry = !statusCode || (statusCode === 408 || statusCode >= 500) + var reauth = statusCode === 401 + var timeout = statusCode === 408 + var serverError = statusCode >= 500 + var statusRetry = !statusCode || timeout || serverError + if (reauth && this.auth && this.token) { + this.token = null + this.couchLogin.token = null + return regRequest.call(this, method, where, what, etag, nofollow, cb_) + } if (er && statusRetry && operation.retry(er)) { self.log.info("retry", "will retry, error on last attempt: " + er) return } cb.apply(null, arguments) - }) - }) + }.bind(this)) + }.bind(this)) } function makeRequest (method, remote, where, what, etag, nofollow, tok, cb_) { diff --git a/deps/npm/node_modules/npm-registry-client/package.json b/deps/npm/node_modules/npm-registry-client/package.json index 47b6dc4b7f..ff9e6c3f10 100644 --- a/deps/npm/node_modules/npm-registry-client/package.json +++ b/deps/npm/node_modules/npm-registry-client/package.json @@ -6,7 +6,7 @@ }, "name": "npm-registry-client", "description": "Client for the npm registry", - "version": "0.0.10", + "version": "0.0.11", "repository": { "url": "git://github.com/isaacs/npm-registry-client" }, @@ -35,6 +35,6 @@ }, "license": "BSD", "readme": "# npm-registry-client\n\nThe code that npm uses to talk to the registry.\n\nIt handles all the caching and HTTP calls.\n\n## Usage\n\n```javascript\nvar RegClient = require('npm-registry-client')\nvar client = new RegClient(options)\n\nclient.get(\"npm\", \"latest\", 1000, function (er, data, raw, res) {\n // error is an error if there was a problem.\n // data is the parsed data object\n // raw is the json string\n // res is the response from couch\n})\n```\n\n# Options\n\n* `registry` **Required** {String} URL to the registry\n* `cache` **Required** {String} Path to the cache folder\n* `alwaysAuth` {Boolean} Auth even for GET requests.\n* `auth` {String} A base64-encoded `username:password`\n* `email` {String} User's email address\n* `tag` {String} The default tag to use when publishing new packages.\n Default = `\"latest\"`\n* `ca` {String} Cerficate signing authority certificates to trust.\n* `strictSSL` {Boolean} Whether or not to be strict with SSL\n certificates. Default = `true`\n* `userAgent` {String} User agent header to send. Default =\n `\"node/{process.version}\"`\n* `log` {Object} The logger to use. Defaults to `require(\"npmlog\")` if\n that works, otherwise logs are disabled.\n* `retries` {Number} Number of times to retry on GET failures.\n Default=2\n* `retryFactor` {Number} `factor` setting for `node-retry`. Default=10\n* `retryMinTimeout` {Number} `minTimeout` setting for `node-retry`.\n Default=10000 (10 seconds)\n* `retryMaxTimeout` {Number} `maxTimeout` setting for `node-retry`.\n Default=60000 (60 seconds)\n\n# client.request(method, where, [what], [etag], [nofollow], cb)\n\n* `method` {String} HTTP method\n* `where` {String} Path to request on the server\n* `what` {Stream | Buffer | String | Object} The request body. Objects\n that are not Buffers or Streams are encoded as JSON.\n* `etag` {String} The cached ETag\n* `nofollow` {Boolean} Prevent following 302/301 responses\n* `cb` {Function}\n * `error` {Error | null}\n * `data` {Object} the parsed data object\n * `raw` {String} the json\n * `res` {Response Object} response from couch\n\nMake a request to the registry. All the other methods are wrappers\naround this. one.\n\n# client.adduser(username, password, email, cb)\n\n* `username` {String}\n* `password` {String}\n* `email` {String}\n* `cb` {Function}\n\nAdd a user account to the registry, or verify the credentials.\n\n# client.get(url, [timeout], [nofollow], [staleOk], cb)\n\n* `url` {String} The url path to fetch\n* `timeout` {Number} Number of seconds old that a cached copy must be\n before a new request will be made.\n* `nofollow` {Boolean} Do not follow 301/302 responses\n* `staleOk` {Boolean} If there's cached data available, then return that\n to the callback quickly, and update the cache the background.\n\nFetches data from the registry via a GET request, saving it in\nthe cache folder with the ETag.\n\n# client.publish(data, tarball, [readme], cb)\n\n* `data` {Object} Package data\n* `tarball` {String | Stream} Filename or stream of the package tarball\n* `readme` {String} Contents of the README markdown file\n* `cb` {Function}\n\nPublish a package to the registry.\n\nNote that this does not create the tarball from a folder. However, it\ncan accept a gzipped tar stream or a filename to a tarball.\n\n# client.star(package, starred, cb)\n\n* `package` {String} Name of the package to star\n* `starred` {Boolean} True to star the package, false to unstar it.\n* `cb` {Function}\n\nStar or unstar a package.\n\nNote that the user does not have to be the package owner to star or\nunstar a package, though other writes do require that the user be the\npackage owner.\n\n# client.tag(project, version, tag, cb)\n\n* `project` {String} Project name\n* `version` {String} Version to tag\n* `tag` {String} Tag name to apply\n* `cb` {Function}\n\nMark a version in the `dist-tags` hash, so that `pkg@tag`\nwill fetch the specified version.\n\n# client.unpublish(name, [ver], cb)\n\n* `name` {String} package name\n* `ver` {String} version to unpublish. Leave blank to unpublish all\n versions.\n* `cb` {Function}\n\nRemove a version of a package (or all versions) from the registry. When\nthe last version us unpublished, the entire document is removed from the\ndatabase.\n\n# client.upload(where, file, [etag], [nofollow], cb)\n\n* `where` {String} URL path to upload to\n* `file` {String | Stream} Either the filename or a readable stream\n* `etag` {String} Cache ETag\n* `nofollow` {Boolean} Do not follow 301/302 responses\n* `cb` {Function}\n\nUpload an attachment. Mostly used by `client.publish()`.\n", - "_id": "npm-registry-client@0.0.10", + "_id": "npm-registry-client@0.0.11", "_from": "npm-registry-client@0" } diff --git a/deps/npm/node_modules/slide/nodejs-controlling-flow.pdf b/deps/npm/node_modules/slide/nodejs-controlling-flow.pdf Binary files differdeleted file mode 100644 index ca12d60cb2..0000000000 --- a/deps/npm/node_modules/slide/nodejs-controlling-flow.pdf +++ /dev/null diff --git a/deps/npm/package.json b/deps/npm/package.json index 024807f78c..817556564e 100644 --- a/deps/npm/package.json +++ b/deps/npm/package.json @@ -1,5 +1,5 @@ { - "version": "1.1.41", + "version": "1.1.43", "name": "npm", "publishConfig": { "proprietary-attribs": false diff --git a/deps/npm/test/packages/npm-test-array-bin/README b/deps/npm/test/packages/npm-test-array-bin/README new file mode 100644 index 0000000000..8848f07868 --- /dev/null +++ b/deps/npm/test/packages/npm-test-array-bin/README @@ -0,0 +1 @@ +just an npm test diff --git a/deps/npm/test/packages/npm-test-blerg/README b/deps/npm/test/packages/npm-test-blerg/README new file mode 100644 index 0000000000..8848f07868 --- /dev/null +++ b/deps/npm/test/packages/npm-test-blerg/README @@ -0,0 +1 @@ +just an npm test diff --git a/deps/npm/test/packages/npm-test-bundled-git/README b/deps/npm/test/packages/npm-test-bundled-git/README new file mode 100644 index 0000000000..8848f07868 --- /dev/null +++ b/deps/npm/test/packages/npm-test-bundled-git/README @@ -0,0 +1 @@ +just an npm test diff --git a/deps/npm/test/packages/npm-test-dir-bin/README b/deps/npm/test/packages/npm-test-dir-bin/README new file mode 100644 index 0000000000..8848f07868 --- /dev/null +++ b/deps/npm/test/packages/npm-test-dir-bin/README @@ -0,0 +1 @@ +just an npm test diff --git a/deps/npm/test/packages/npm-test-env-reader/README b/deps/npm/test/packages/npm-test-env-reader/README new file mode 100644 index 0000000000..8848f07868 --- /dev/null +++ b/deps/npm/test/packages/npm-test-env-reader/README @@ -0,0 +1 @@ +just an npm test diff --git a/deps/npm/test/packages/npm-test-files/ignore3 b/deps/npm/test/packages/npm-test-files/ignore3 deleted file mode 100644 index e69de29bb2..0000000000 --- a/deps/npm/test/packages/npm-test-files/ignore3 +++ /dev/null diff --git a/deps/npm/test/packages/npm-test-files/ignoredir1/a b/deps/npm/test/packages/npm-test-files/ignoredir1/a deleted file mode 100644 index e69de29bb2..0000000000 --- a/deps/npm/test/packages/npm-test-files/ignoredir1/a +++ /dev/null diff --git a/deps/npm/test/packages/npm-test-files/ignoredir2/a b/deps/npm/test/packages/npm-test-files/ignoredir2/a deleted file mode 100644 index e69de29bb2..0000000000 --- a/deps/npm/test/packages/npm-test-files/ignoredir2/a +++ /dev/null diff --git a/deps/npm/test/packages/npm-test-files/sub/ignore1 b/deps/npm/test/packages/npm-test-files/sub/ignore1 deleted file mode 100644 index e69de29bb2..0000000000 --- a/deps/npm/test/packages/npm-test-files/sub/ignore1 +++ /dev/null diff --git a/deps/npm/test/packages/npm-test-files/sub/ignore3 b/deps/npm/test/packages/npm-test-files/sub/ignore3 deleted file mode 100644 index e69de29bb2..0000000000 --- a/deps/npm/test/packages/npm-test-files/sub/ignore3 +++ /dev/null diff --git a/deps/npm/test/packages/npm-test-ignore-nested-nm/README b/deps/npm/test/packages/npm-test-ignore-nested-nm/README new file mode 100644 index 0000000000..8848f07868 --- /dev/null +++ b/deps/npm/test/packages/npm-test-ignore-nested-nm/README @@ -0,0 +1 @@ +just an npm test diff --git a/deps/npm/test/packages/npm-test-ignore/README b/deps/npm/test/packages/npm-test-ignore/README new file mode 100644 index 0000000000..8848f07868 --- /dev/null +++ b/deps/npm/test/packages/npm-test-ignore/README @@ -0,0 +1 @@ +just an npm test diff --git a/deps/npm/test/packages/npm-test-ignore/ignore3 b/deps/npm/test/packages/npm-test-ignore/ignore3 deleted file mode 100644 index e69de29bb2..0000000000 --- a/deps/npm/test/packages/npm-test-ignore/ignore3 +++ /dev/null diff --git a/deps/npm/test/packages/npm-test-ignore/ignoredir1/a b/deps/npm/test/packages/npm-test-ignore/ignoredir1/a deleted file mode 100644 index e69de29bb2..0000000000 --- a/deps/npm/test/packages/npm-test-ignore/ignoredir1/a +++ /dev/null diff --git a/deps/npm/test/packages/npm-test-ignore/ignoredir2/a b/deps/npm/test/packages/npm-test-ignore/ignoredir2/a deleted file mode 100644 index e69de29bb2..0000000000 --- a/deps/npm/test/packages/npm-test-ignore/ignoredir2/a +++ /dev/null diff --git a/deps/npm/test/packages/npm-test-ignore/sub/ignore1 b/deps/npm/test/packages/npm-test-ignore/sub/ignore1 deleted file mode 100644 index e69de29bb2..0000000000 --- a/deps/npm/test/packages/npm-test-ignore/sub/ignore1 +++ /dev/null diff --git a/deps/npm/test/packages/npm-test-ignore/sub/ignore3 b/deps/npm/test/packages/npm-test-ignore/sub/ignore3 deleted file mode 100644 index e69de29bb2..0000000000 --- a/deps/npm/test/packages/npm-test-ignore/sub/ignore3 +++ /dev/null diff --git a/deps/npm/test/packages/npm-test-ignore/test.sh b/deps/npm/test/packages/npm-test-ignore/test.sh index cdf47f211a..05fbaf1699 100644 --- a/deps/npm/test/packages/npm-test-ignore/test.sh +++ b/deps/npm/test/packages/npm-test-ignore/test.sh @@ -8,11 +8,13 @@ x=`find . | grep -v ignore | sort` y=". ./include4 ./package.json +./README ./sub ./sub/include ./sub/include2 ./sub/include4 ./test.sh" +y="`echo "$y" | sort`" if [ "$x" != "$y" ]; then echo "missing included files" echo "got:" diff --git a/deps/npm/test/packages/npm-test-missing-bindir/README b/deps/npm/test/packages/npm-test-missing-bindir/README new file mode 100644 index 0000000000..8848f07868 --- /dev/null +++ b/deps/npm/test/packages/npm-test-missing-bindir/README @@ -0,0 +1 @@ +just an npm test diff --git a/deps/npm/test/packages/npm-test-optional-deps/README b/deps/npm/test/packages/npm-test-optional-deps/README new file mode 100644 index 0000000000..8848f07868 --- /dev/null +++ b/deps/npm/test/packages/npm-test-optional-deps/README @@ -0,0 +1 @@ +just an npm test diff --git a/deps/npm/test/packages/npm-test-platform-all/README b/deps/npm/test/packages/npm-test-platform-all/README new file mode 100644 index 0000000000..8848f07868 --- /dev/null +++ b/deps/npm/test/packages/npm-test-platform-all/README @@ -0,0 +1 @@ +just an npm test diff --git a/deps/npm/test/packages/npm-test-platform/README b/deps/npm/test/packages/npm-test-platform/README new file mode 100644 index 0000000000..8848f07868 --- /dev/null +++ b/deps/npm/test/packages/npm-test-platform/README @@ -0,0 +1 @@ +just an npm test diff --git a/deps/npm/test/packages/npm-test-private/README b/deps/npm/test/packages/npm-test-private/README new file mode 100644 index 0000000000..8848f07868 --- /dev/null +++ b/deps/npm/test/packages/npm-test-private/README @@ -0,0 +1 @@ +just an npm test diff --git a/deps/npm/test/packages/npm-test-shrinkwrap/README b/deps/npm/test/packages/npm-test-shrinkwrap/README new file mode 100644 index 0000000000..8848f07868 --- /dev/null +++ b/deps/npm/test/packages/npm-test-shrinkwrap/README @@ -0,0 +1 @@ +just an npm test diff --git a/deps/npm/test/packages/npm-test-test-package/README b/deps/npm/test/packages/npm-test-test-package/README new file mode 100644 index 0000000000..8848f07868 --- /dev/null +++ b/deps/npm/test/packages/npm-test-test-package/README @@ -0,0 +1 @@ +just an npm test diff --git a/deps/npm/test/packages/npm-test-url-dep/README b/deps/npm/test/packages/npm-test-url-dep/README new file mode 100644 index 0000000000..8848f07868 --- /dev/null +++ b/deps/npm/test/packages/npm-test-url-dep/README @@ -0,0 +1 @@ +just an npm test |