diff options
author | isaacs <i@izs.me> | 2012-03-02 09:31:24 -0800 |
---|---|---|
committer | isaacs <i@izs.me> | 2012-03-02 09:31:46 -0800 |
commit | 054127112ce335ceb4477a481e99e3fb2176b457 (patch) | |
tree | 22c5386ce5538f3db7996a6e71d30264617a66b8 /deps/npm | |
parent | edea94c332f07ed81ea7de9b93bbcec806c81544 (diff) | |
download | node-new-054127112ce335ceb4477a481e99e3fb2176b457.tar.gz |
Upgrade npm to 1.1.3
* Update request to support HTTPS-over-HTTP proxy tunneling
* Throw on undefined envs in config settings
* Update which to 1.0.5
* Fix windows UNC busyloop in findPrefix
* Bundle nested bundleDependencies properly
* Alias adduser to add-user
* Doc updates (Christian Howe, Henrik Hodne, Andrew Lunny)
* ignore logfd/outfd streams in makeEnv() (Rod Vagg)
* shrinkwrap: Behave properly with url-installed deps
* install: Support --save with url install targets
* Support installing naked tars or single-file modules from urls etc.
* init: Don't add engines section
* Don't run make clean on rebuild
* Added missing unicode replacement (atomizer)
Diffstat (limited to 'deps/npm')
220 files changed, 1183 insertions, 375 deletions
diff --git a/deps/npm/AUTHORS b/deps/npm/AUTHORS index b1b915af67..86899d4305 100644 --- a/deps/npm/AUTHORS +++ b/deps/npm/AUTHORS @@ -54,3 +54,8 @@ Paul Vorbach <paul@vorb.de> George Ornbo <george@shapeshed.com> Tim Oxley <secoif@gmail.com> Tyler Green <tyler.green2@gmail.com> +atomizer <danila.gerasimov@gmail.com> +Rod Vagg <rod@vagg.org> +Christian Howe <coderarity@gmail.com> +Andrew Lunny <alunny@gmail.com> +Henrik Hodne <dvyjones@binaryhex.com> diff --git a/deps/npm/Makefile b/deps/npm/Makefile index 415a1b3d68..19efd815c9 100644 --- a/deps/npm/Makefile +++ b/deps/npm/Makefile @@ -123,7 +123,7 @@ doc-publish: doc rsync -vazu --stats --no-implied-dirs --delete html/api/ npmjs.org:/var/www/npmjs.org/public/api zip-publish: release - scp release/*.zip npmjs.org:/var/www/npmjs.org/public/dist/ + scp release/* npmjs.org:/var/www/npmjs.org/public/dist/ release: @bash scripts/release.sh diff --git a/deps/npm/doc/cli/changelog.md b/deps/npm/doc/cli/changelog.md index 0115405ca0..7c3a124c4f 100644 --- a/deps/npm/doc/cli/changelog.md +++ b/deps/npm/doc/cli/changelog.md @@ -3,6 +3,50 @@ npm-changelog(1) -- Changes ## HISTORY +### 1.1.3 + +* Update request to support HTTPS-over-HTTP proxy tunneling +* Throw on undefined envs in config settings +* Update which to 1.0.5 +* Fix windows UNC busyloop in findPrefix +* Bundle nested bundleDependencies properly +* Alias adduser to add-user +* Doc updates (Christian Howe, Henrik Hodne, Andrew Lunny) +* ignore logfd/outfd streams in makeEnv() (Rod Vagg) +* shrinkwrap: Behave properly with url-installed deps +* install: Support --save with url install targets +* Support installing naked tars or single-file modules from urls etc. +* init: Don't add engines section +* Don't run make clean on rebuild +* Added missing unicode replacement (atomizer) + +### 1.1.2 + +Dave Pacheco (2): + add "npm shrinkwrap" + +Martin Cooper (1): + Fix #1753 Make a copy of the cached objects we'll modify. + +Tim Oxley (1): + correctly remove readme from default npm view command. + +Tyler Green (1): + fix #2187 set terminal columns to Infinity if 0 + +isaacs (19): + update minimatch + update request + Experimental: single-file modules + Fix #2172 Don't remove global mans uninstalling local pkgs + Add --versions flag to show the version of node as well + Support --json flag for ls output + update request to 2.9.151 + +### 1.1 +* Replace system tar dependency with a JS tar +* Continue to refine + ### 1.0 * Greatly simplified folder structure * Install locally (bundle by default) diff --git a/deps/npm/doc/cli/coding-style.md b/deps/npm/doc/cli/coding-style.md index 5315c575c1..42ac1d785f 100644 --- a/deps/npm/doc/cli/coding-style.md +++ b/deps/npm/doc/cli/coding-style.md @@ -59,8 +59,8 @@ Don't use them except in four situations: * `for (;;)` loops. They're actually required. * null loops like: `while (something) ;` (But you'd better have a good reason for doing that.) -* case "foo": doSomething(); break -* In front of a leading ( or [ at the start of the line. +* `case "foo": doSomething(); break` +* In front of a leading `(` or `[` at the start of the line. This prevents the expression from being interpreted as a function call or property access, respectively. diff --git a/deps/npm/doc/cli/developers.md b/deps/npm/doc/cli/developers.md index 9123f35a33..7ab905bfa0 100644 --- a/deps/npm/doc/cli/developers.md +++ b/deps/npm/doc/cli/developers.md @@ -27,12 +27,23 @@ A package is: * d) a `<name>@<version>` that is published on the registry with (c) * e) a `<name>@<tag>` that points to (d) * f) a `<name>` that has a "latest" tag satisfying (e) +* g) a `git` url that, when cloned, results in (a). Even if you never publish your package, you can still get a lot of benefits of using npm if you just want to write a node program (a), and perhaps if you also want to be able to easily install it elsewhere after packing it up into a tarball (b). +Git urls can be of the form: + + git://github.com/user/project.git#commit-ish + git+ssh://user@hostname:project.git#commit-ish + git+http://user@hostname/project/blah.git#commit-ish + git+https://user@hostname/project/blah.git#commit-ish + +The `commit-ish` can be any tag, sha, or branch which can be supplied as +an argument to `git checkout`. The default is `master`. + ## The package.json File You need to have a `package.json` file in the root of your project to do diff --git a/deps/npm/doc/cli/json.md b/deps/npm/doc/cli/json.md index 5f6e7ef621..0ded878944 100644 --- a/deps/npm/doc/cli/json.md +++ b/deps/npm/doc/cli/json.md @@ -332,6 +332,7 @@ is a semver compatible version identifier. * `""` (just an empty string) Same as `*` * `version1 - version2` Same as `>=version1 <=version2`. * `range1 || range2` Passes if either range1 or range2 are satisfied. +* `git...` See 'Git URLs as Dependencies' below For example, these are all valid: @@ -387,6 +388,18 @@ of a version range. This tarball will be downloaded and installed locally to your package at install time. +### Git URLs as Dependencies + +Git urls can be of the form: + + git://github.com/user/project.git#commit-ish + git+ssh://user@hostname:project.git#commit-ish + git+http://user@hostname/project/blah.git#commit-ish + git+https://user@hostname/project/blah.git#commit-ish + +The `commit-ish` can be any tag, sha, or branch which can be supplied as +an argument to `git checkout`. The default is `master`. + ## devDependencies If someone is planning on downloading and using your module in their diff --git a/deps/npm/doc/cli/scripts.md b/deps/npm/doc/cli/scripts.md index 64b3ec41a0..3d33a83919 100644 --- a/deps/npm/doc/cli/scripts.md +++ b/deps/npm/doc/cli/scripts.md @@ -62,6 +62,20 @@ Package scripts run in an environment where many pieces of information are made available regarding the setup of npm and the current state of the process. + +### path + +If you depend on modules that define executable scripts, like test suites, +then those executables will be added to the `PATH` for executing the scripts. +So, if your package.json has this: + + { "name" : "foo" + , "dependencies" : { "bar" : "0.1.x" } + , "scripts": { "start" : "bar ./test" } } + +then you could run `npm start` to execute the `bar` script, which is exported +into the `node_modules/.bin` directory on `npm install`. + ### package.json vars The package.json fields are tacked onto the `npm_package_` prefix. So, for diff --git a/deps/npm/html/api/bin.html b/deps/npm/html/api/bin.html index f532874a08..8008d21459 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.2</p> +<p id="footer">bin — npm@1.1.3</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 75479a4d8c..0844b34072 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.2</p> +<p id="footer">bugs — npm@1.1.3</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 26febd8a15..96a4260cca 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.2</p> +<p id="footer">commands — npm@1.1.3</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 df58adec27..9290da5dfd 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.2</p> +<p id="footer">config — npm@1.1.3</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 ea1298af54..1d027012f5 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.2</p> +<p id="footer">deprecate — npm@1.1.3</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 14214d7bea..e2d94a228a 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.2</p> +<p id="footer">docs — npm@1.1.3</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 21ff933415..3e252d78bd 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.2</p> +<p id="footer">edit — npm@1.1.3</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 8c02a51fee..8e2e7082ba 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.2</p> +<p id="footer">explore — npm@1.1.3</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 37068ac2c3..219c438acd 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.2</p> +<p id="footer">help-search — npm@1.1.3</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 f07d214860..d32ff17cc0 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.2</p> +<p id="footer">init — npm@1.1.3</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 bdcac428c4..55925df3df 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.2</p> +<p id="footer">install — npm@1.1.3</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 86e377a212..441806cfde 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.2</p> +<p id="footer">link — npm@1.1.3</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 b2a1a9d163..cd008a4041 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.2</p> +<p id="footer">load — npm@1.1.3</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 159d9c2283..fbbd702a96 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.2</p> +<p id="footer">ls — npm@1.1.3</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 3e923fc488..92441e0153 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.2</p> +<p>1.1.3</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.2</p> +<p id="footer">npm — npm@1.1.3</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 4febbeb392..edf82ba840 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.2</p> +<p id="footer">outdated — npm@1.1.3</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 d7708b1716..6ce7270ae1 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.2</p> +<p id="footer">owner — npm@1.1.3</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 4b6b9dad84..eb9a0a8709 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.2</p> +<p id="footer">pack — npm@1.1.3</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 b159e67677..6eda68716d 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.2</p> +<p id="footer">prefix — npm@1.1.3</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 09c9456bdb..0abc18cc32 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.2</p> +<p id="footer">prune — npm@1.1.3</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 4d57cdec5b..230af6ce50 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.2</p> +<p id="footer">publish — npm@1.1.3</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 5a16961981..c3824cc7e7 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.2</p> +<p id="footer">rebuild — npm@1.1.3</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 5baee5750c..7dcda95e5c 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.2</p> +<p id="footer">restart — npm@1.1.3</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 bfad92bb02..23d2e0bb52 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.2</p> +<p id="footer">root — npm@1.1.3</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 df45596906..89fed2bdfa 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.2</p> +<p id="footer">run-script — npm@1.1.3</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 ac0cbd3937..e24e00ac61 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.2</p> +<p id="footer">search — npm@1.1.3</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 1a4ef61327..628a10721d 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.2</p> +<p id="footer">shrinkwrap — npm@1.1.3</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 6830137e9d..1d96267528 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.2</p> +<p id="footer">start — npm@1.1.3</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 d6ddfa9be9..a169b88e03 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.2</p> +<p id="footer">stop — npm@1.1.3</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 401514d92d..ad0c146c89 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.2</p> +<p id="footer">submodule — npm@1.1.3</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 1c21554e2e..b0b2e3f84c 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.2</p> +<p id="footer">tag — npm@1.1.3</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 51bd2647e3..55a79c616e 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.2</p> +<p id="footer">test — npm@1.1.3</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 98dc686111..caedf8af76 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.2</p> +<p id="footer">uninstall — npm@1.1.3</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 2179840ead..e50d530aa5 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.2</p> +<p id="footer">unpublish — npm@1.1.3</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 6383e2a453..95d0bbf446 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.2</p> +<p id="footer">update — npm@1.1.3</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 9a4fcae34c..6b1ae99053 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.2</p> +<p id="footer">version — npm@1.1.3</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 5303658156..22ed424c2f 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.2</p> +<p id="footer">view — npm@1.1.3</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 b1321a0e43..f7bf2d49fc 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.2</p> +<p id="footer">whoami — npm@1.1.3</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 3aefa2d108..c385dd2569 100644 --- a/deps/npm/html/doc/README.html +++ b/deps/npm/html/doc/README.html @@ -267,7 +267,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.2</p> +<p id="footer"><a href="../doc/README.html">README</a> — npm@1.1.3</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 2af866e3a5..5fb93793ae 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.2</p> +<p id="footer">adduser — npm@1.1.3</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 21b1a57f67..c825d1dd21 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.2</p> +<p id="footer">bin — npm@1.1.3</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 78a8b00326..aa6ec8b785 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.2</p> +<p id="footer">bugs — npm@1.1.3</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 fc1df5db3d..9a3ee37aa2 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.2</p> +<p id="footer">build — npm@1.1.3</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 744496d240..1e44e7f010 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.2</p> +<p id="footer">bundle — npm@1.1.3</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 da793c4689..3ccbf3eea8 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.2</p> +<p id="footer">cache — npm@1.1.3</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 1ff71c16e1..2f1874a48d 100644 --- a/deps/npm/html/doc/changelog.html +++ b/deps/npm/html/doc/changelog.html @@ -10,6 +10,37 @@ <h2 id="HISTORY">HISTORY</h2> +<h3 id="1-1-3">1.1.3</h3> + +<ul><li>Update request to support HTTPS-over-HTTP proxy tunneling</li><li>Throw on undefined envs in config settings</li><li>Update which to 1.0.5</li><li>Fix windows UNC busyloop in findPrefix</li><li>Bundle nested bundleDependencies properly</li><li>Alias adduser to add-user</li><li>Doc updates (Christian Howe, Henrik Hodne, Andrew Lunny)</li><li>ignore logfd/outfd streams in makeEnv() (Rod Vagg)</li><li>shrinkwrap: Behave properly with url-installed deps</li><li>install: Support --save with url install targets</li><li>Support installing naked tars or single-file modules from urls etc.</li><li>init: Don't add engines section</li><li>Don't run make clean on rebuild</li><li>Added missing unicode replacement (atomizer)</li></ul> + +<h3 id="1-1-2">1.1.2</h3> + +<p>Dave Pacheco (2): + add "npm shrinkwrap"</p> + +<p>Martin Cooper (1): + Fix #1753 Make a copy of the cached objects we'll modify.</p> + +<p>Tim Oxley (1): + correctly remove readme from default npm view command.</p> + +<p>Tyler Green (1): + fix #2187 set terminal columns to Infinity if 0</p> + +<p>isaacs (19): + update minimatch + update request + Experimental: single-file modules + Fix #2172 Don't remove global mans uninstalling local pkgs + Add --versions flag to show the version of node as well + Support --json flag for ls output + update request to 2.9.151</p> + +<h3 id="1-1">1.1</h3> + +<ul><li>Replace system tar dependency with a JS tar</li><li>Continue to refine</li></ul> + <h3 id="1-0">1.0</h3> <ul><li>Greatly simplified folder structure </li><li>Install locally (bundle by default) </li><li>Drastic rearchitecture</li></ul> @@ -34,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.2</p> +<p id="footer">changelog — npm@1.1.3</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 6b33e6c5e5..2f3e724cd0 100644 --- a/deps/npm/html/doc/coding-style.html +++ b/deps/npm/html/doc/coding-style.html @@ -64,7 +64,7 @@ while (foo) { <p>Don't use them except in four situations:</p> <ul><li><code>for (;;)</code> loops. They're actually required.</li><li>null loops like: <code>while (something) ;</code> (But you'd better have a good -reason for doing that.)</li><li>case "foo": doSomething(); break</li><li>In front of a leading ( or [ at the start of the line. +reason for doing that.)</li><li><code>case "foo": doSomething(); break</code></li><li>In front of a leading <code>(</code> or <code>[</code> at the start of the line. This prevents the expression from being interpreted as a function call or property access, respectively.</li></ul> @@ -191,7 +191,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.2</p> +<p id="footer">coding-style — npm@1.1.3</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 07427aef4c..70fdcad0a5 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.2</p> +<p id="footer">completion — npm@1.1.3</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 301ff3c8ea..53f1ae5563 100644 --- a/deps/npm/html/doc/config.html +++ b/deps/npm/html/doc/config.html @@ -642,7 +642,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.2</p> +<p id="footer">config — npm@1.1.3</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 e0e410e1e3..59ce9c0dcb 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.2</p> +<p id="footer">deprecate — npm@1.1.3</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 406f342891..c79bc57e97 100644 --- a/deps/npm/html/doc/developers.html +++ b/deps/npm/html/doc/developers.html @@ -28,13 +28,23 @@ topic, or <code>npm help thing</code> to see the same information.</p> <p>A package is:</p> -<ul><li>a) a folder containing a program described by a package.json file</li><li>b) a gzipped tarball containing (a)</li><li>c) a url that resolves to (b)</li><li>d) a <code><name>@<version></code> that is published on the registry with (c)</li><li>e) a <code><name>@<tag></code> that points to (d)</li><li>f) a <code><name></code> that has a "latest" tag satisfying (e)</li></ul> +<ul><li>a) a folder containing a program described by a package.json file</li><li>b) a gzipped tarball containing (a)</li><li>c) a url that resolves to (b)</li><li>d) a <code><name>@<version></code> that is published on the registry with (c)</li><li>e) a <code><name>@<tag></code> that points to (d)</li><li>f) a <code><name></code> that has a "latest" tag satisfying (e)</li><li>g) a <code>git</code> url that, when cloned, results in (a).</li></ul> <p>Even if you never publish your package, you can still get a lot of benefits of using npm if you just want to write a node program (a), and perhaps if you also want to be able to easily install it elsewhere after packing it up into a tarball (b).</p> +<p>Git urls can be of the form:</p> + +<pre><code>git://github.com/user/project.git#commit-ish +git+ssh://user@hostname:project.git#commit-ish +git+http://user@hostname/project/blah.git#commit-ish +git+https://user@hostname/project/blah.git#commit-ish</code></pre> + +<p>The <code>commit-ish</code> can be any tag, sha, or branch which can be supplied as +an argument to <code>git checkout</code>. The default is <code>master</code>.</p> + <h2 id="The-package-json-File">The package.json File</h2> <p>You need to have a <code>package.json</code> file in the root of your project to do @@ -150,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.2</p> +<p id="footer">developers — npm@1.1.3</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 ab7ba2173c..f7a34aac12 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.2</p> +<p id="footer">disputes — npm@1.1.3</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 2a1bc68d41..7c0768199a 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.2</p> +<p id="footer">docs — npm@1.1.3</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 7f62e2915c..4dcf28bd1a 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.2</p> +<p id="footer">edit — npm@1.1.3</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 1e5d24adda..020dea55eb 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.2</p> +<p id="footer">explore — npm@1.1.3</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 4a8cb1aeaa..f4696aa5bf 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.2</p> +<p id="footer">faq — npm@1.1.3</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 0533ed5163..9e72f139cb 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.2</p> +<p id="footer">folders — npm@1.1.3</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 f7504c4dc3..143d2534a2 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.2</p> +<p id="footer">help-search — npm@1.1.3</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 7c27afa600..6d3bfcd333 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.2</p> +<p id="footer">help — npm@1.1.3</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 e34ecde4b2..9e8059a025 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.2</p> +<p id="footer">index — npm@1.1.3</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 c483eedf03..7ad37548dc 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="../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.2</p> +<p id="footer">init — npm@1.1.3</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 7521efb563..082d3703f8 100644 --- a/deps/npm/html/doc/install.html +++ b/deps/npm/html/doc/install.html @@ -136,7 +136,7 @@ affects a real use-case, it will be investigated.</p> <ul><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/update.html">update(1)</a></li><li><a href="../doc/link.html">link(1)</a></li><li><a href="../doc/rebuild.html">rebuild(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/build.html">build(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/tag.html">tag(1)</a></li><li><a href="../doc/rm.html">rm(1)</a></li><li><a href="../doc/shrinkwrap.html">shrinkwrap(1)</a></li></ul> </div> -<p id="footer">install — npm@1.1.2</p> +<p id="footer">install — npm@1.1.3</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 26fbaf86e0..1d32a8a9d8 100644 --- a/deps/npm/html/doc/json.html +++ b/deps/npm/html/doc/json.html @@ -311,7 +311,7 @@ space-separated descriptors, OR a range like "fromVersion - toVersion"</p> <p>Version range descriptors may be any of the following styles, where "version" is a semver compatible version identifier.</p> -<ul><li><code>version</code> Must match <code>version</code> exactly</li><li><code>=version</code> Same as just <code>version</code></li><li><code>>version</code> Must be greater than <code>version</code></li><li><code>>=version</code> etc</li><li><code><version</code></li><li><code><=version</code></li><li><code>~version</code> See 'Tilde Version Ranges' below</li><li><code>1.2.x</code> See 'X Version Ranges' below</li><li><code>http://...</code> See 'URLs as Dependencies' below</li><li><code>*</code> Matches any version</li><li><code>""</code> (just an empty string) Same as <code>*</code></li><li><code>version1 - version2</code> Same as <code>>=version1 <=version2</code>.</li><li><code>range1 || range2</code> Passes if either range1 or range2 are satisfied.</li></ul> +<ul><li><code>version</code> Must match <code>version</code> exactly</li><li><code>=version</code> Same as just <code>version</code></li><li><code>>version</code> Must be greater than <code>version</code></li><li><code>>=version</code> etc</li><li><code><version</code></li><li><code><=version</code></li><li><code>~version</code> See 'Tilde Version Ranges' below</li><li><code>1.2.x</code> See 'X Version Ranges' below</li><li><code>http://...</code> See 'URLs as Dependencies' below</li><li><code>*</code> Matches any version</li><li><code>""</code> (just an empty string) Same as <code>*</code></li><li><code>version1 - version2</code> Same as <code>>=version1 <=version2</code>.</li><li><code>range1 || range2</code> Passes if either range1 or range2 are satisfied.</li><li><code>git...</code> See 'Git URLs as Dependencies' below</li></ul> <p>For example, these are all valid:</p> @@ -360,6 +360,18 @@ of a version range.</p> <p>This tarball will be downloaded and installed locally to your package at install time.</p> +<h3 id="Git-URLs-as-Dependencies">Git URLs as Dependencies</h3> + +<p>Git urls can be of the form:</p> + +<pre><code>git://github.com/user/project.git#commit-ish +git+ssh://user@hostname:project.git#commit-ish +git+http://user@hostname/project/blah.git#commit-ish +git+https://user@hostname/project/blah.git#commit-ish</code></pre> + +<p>The <code>commit-ish</code> can be any tag, sha, or branch which can be supplied as +an argument to <code>git checkout</code>. The default is <code>master</code>.</p> + <h2 id="devDependencies">devDependencies</h2> <p>If someone is planning on downloading and using your module in their @@ -436,7 +448,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.2</p> +<p id="footer">json — npm@1.1.3</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 618b7e18bc..5614252611 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.2</p> +<p id="footer">link — npm@1.1.3</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 98eb8ec1df..c4d2644a26 100644 --- a/deps/npm/html/doc/list.html +++ b/deps/npm/html/doc/list.html @@ -58,7 +58,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.2</p> +<p id="footer">list — npm@1.1.3</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 8fb1d5e68e..d4dfe7fab0 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.2</p> +<p>1.1.3</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.2</p> +<p id="footer">npm — npm@1.1.3</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 7cfd6c5299..7727903f3e 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.2</p> +<p id="footer">outdated — npm@1.1.3</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 de4d40501b..f2c5f1b381 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.2</p> +<p id="footer">owner — npm@1.1.3</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 9d86e1c035..e323f5a52b 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.2</p> +<p id="footer">pack — npm@1.1.3</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 823bdc132e..e367d5b3fc 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.2</p> +<p id="footer">prefix — npm@1.1.3</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 666e875414..f51a9df571 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.2</p> +<p id="footer">prune — npm@1.1.3</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 4285c43313..da55861b79 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.2</p> +<p id="footer">publish — npm@1.1.3</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 e73b242086..f18cc9982b 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.2</p> +<p id="footer">rebuild — npm@1.1.3</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 3eaef2e85f..31d8ee8284 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.2</p> +<p id="footer">registry — npm@1.1.3</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 e0a3a56bf8..fb7c45084c 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.2</p> +<p id="footer">removing-npm — npm@1.1.3</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 5e007b2810..388b7850a6 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.2</p> +<p id="footer">restart — npm@1.1.3</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 16312383e9..1a3dbfb9e1 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.2</p> +<p id="footer">root — npm@1.1.3</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 04dcb48708..6d39434247 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.2</p> +<p id="footer">run-script — npm@1.1.3</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 d4aa6668af..4745fcbb85 100644 --- a/deps/npm/html/doc/scripts.html +++ b/deps/npm/html/doc/scripts.html @@ -52,6 +52,19 @@ privileges.</p> made available regarding the setup of npm and the current state of the process.</p> +<h3 id="path">path</h3> + +<p>If you depend on modules that define executable scripts, like test suites, +then those executables will be added to the <code>PATH</code> for executing the scripts. +So, if your package.json has this:</p> + +<pre><code>{ "name" : "foo" +, "dependencies" : { "bar" : "0.1.x" } +, "scripts": { "start" : "bar ./test" } }</code></pre> + +<p>then you could run <code>npm start</code> to execute the <code>bar</code> script, which is exported +into the <code>node_modules/.bin</code> directory on <code>npm install</code>.</p> + <h3 id="package-json-vars">package.json vars</h3> <p>The package.json fields are tacked onto the <code>npm_package_</code> prefix. So, for @@ -164,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.2</p> +<p id="footer">scripts — npm@1.1.3</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 7f02fd198a..8811d8e105 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.2</p> +<p id="footer">search — npm@1.1.3</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 5fd52470de..e5ee1e794c 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.2</p> +<p id="footer">semver — npm@1.1.3</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 1acaf8c6c9..640db89d29 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.2</p> +<p id="footer">shrinkwrap — npm@1.1.3</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 a5e1ec3d45..8631a63c54 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.2</p> +<p id="footer">star — npm@1.1.3</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 27d0749571..f7c7c76b95 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.2</p> +<p id="footer">start — npm@1.1.3</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 25cd52132e..89bc9c2eb7 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.2</p> +<p id="footer">stop — npm@1.1.3</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 031c0df102..7eb2ffb141 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.2</p> +<p id="footer">submodule — npm@1.1.3</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 090aac22cd..e02111d61b 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.2</p> +<p id="footer">tag — npm@1.1.3</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 e8f4f37c1f..fb0c5cd1e2 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.2</p> +<p id="footer">test — npm@1.1.3</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 46e6f303b2..006de7a952 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.2</p> +<p id="footer">uninstall — npm@1.1.3</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 0d33a1ca6d..8fd6a45f99 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.2</p> +<p id="footer">unpublish — npm@1.1.3</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 96b229c60b..b758db07de 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.2</p> +<p id="footer">update — npm@1.1.3</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 42a107e56a..034ee60858 100644 --- a/deps/npm/html/doc/version.html +++ b/deps/npm/html/doc/version.html @@ -31,7 +31,7 @@ will use it as a commit message when creating a version commit.</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.2</p> +<p id="footer">version — npm@1.1.3</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 c15841e701..efafbcf289 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.2</p> +<p id="footer">view — npm@1.1.3</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 e4b70b4af6..a7dc4bed85 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.2</p> +<p id="footer">whoami — npm@1.1.3</p> <script> ;(function () { var wrapper = document.getElementById("wrapper") diff --git a/deps/npm/lib/cache.js b/deps/npm/lib/cache.js index 3dc1fb3a0a..ddc4903f66 100644 --- a/deps/npm/lib/cache.js +++ b/deps/npm/lib/cache.js @@ -752,12 +752,14 @@ function addTmpTarball (tgz, name, cb) { } function addTmpTarball_ (tgz, name, uid, gid, cb) { - var contents = path.resolve(path.dirname(tgz)) // , "contents") + var contents = path.dirname(tgz) tar.unpack( tgz, path.resolve(contents, "package") , null, null , uid, gid , function (er) { - if (er) return log.er(cb, "couldn't unpack "+tgz+" to "+contents)(er) + if (er) { + return log.er(cb, "couldn't unpack "+tgz+" to "+contents)(er) + } fs.readdir(contents, function (er, folder) { if (er) return log.er(cb, "couldn't readdir "+contents)(er) log.verbose(folder, "tarball contents") @@ -792,11 +794,14 @@ function unpack (pkg, ver, unpackTarget, dMode, fMode, uid, gid, cb) { log.error("Could not read data for "+pkg+"@"+ver) return cb(er) } - tar.unpack( path.join(npm.cache, pkg, ver, "package.tgz") - , unpackTarget - , dMode, fMode - , uid, gid - , cb ) + npm.commands.unbuild([unpackTarget], function (er) { + if (er) return cb(er) + tar.unpack( path.join(npm.cache, pkg, ver, "package.tgz") + , unpackTarget + , dMode, fMode + , uid, gid + , cb ) + }) }) } diff --git a/deps/npm/lib/init.js b/deps/npm/lib/init.js index 2ddb3e86fc..1c64d97607 100644 --- a/deps/npm/lib/init.js +++ b/deps/npm/lib/init.js @@ -146,13 +146,6 @@ function init_ (data, folder, cb) { (data.scripts = data.scripts || {}).test = t } ) - ( read - , [ { prompt: "What versions of node does it run on? " - , default: data.engines && data.engines.node || (eng) } ] - , function (nodever) { - (data.engines = data.engines || {}).node = nodever - } - ) (cleanupPaths, [data, folder]) (function (cb) { try { data = readJson.processJson(data) } diff --git a/deps/npm/lib/install.js b/deps/npm/lib/install.js index b493775c1d..19d03d5a61 100644 --- a/deps/npm/lib/install.js +++ b/deps/npm/lib/install.js @@ -183,7 +183,9 @@ function readDependencies (context, where, opts, cb) { }) rv.dependencies = {} Object.keys(wrap).forEach(function (key) { - rv.dependencies[key] = wrap[key].version + log.verbose([key, wrap[key]], "from wrap") + var w = wrap[key] + rv.dependencies[key] = w.from || w.version }) log.verbose([rv.dependencies], "readDependencies: returned deps") return cb(null, rv, wrap) @@ -210,7 +212,8 @@ function readDependencies (context, where, opts, cb) { }) rv.dependencies = {} Object.keys(newwrap.dependencies).forEach(function (key) { - rv.dependencies[key] = newwrap.dependencies[key].version + var w = newwrap.dependencies[key] + rv.dependencies[key] = w.from || w.version }) log.verbose([rv.dependencies], "readDependencies: returned deps") return cb(null, rv, newwrap.dependencies) @@ -225,14 +228,22 @@ function save (where, installed, tree, pretty, cb) { if (!npm.config.get("save") || npm.config.get("global")) { return cb(null, installed, tree, pretty) } + // each item in the tree is a top-level thing that should be saved // to the package.json file. // The relevant tree shape is { <folder>: {what:<pkg>} } var saveTarget = path.resolve(where, "package.json") , things = Object.keys(tree).map(function (k) { - return tree[k].what.split("@") + // if "what" was a url, then save that instead. + var t = tree[k] + , u = url.parse(t.from) + , w = t.what.split("@") + if (u && u.protocol) w[1] = t.from + return w }).reduce(function (set, k) { - var rangeDescriptor = semver.gte(k[1], "0.1.0") ? "~" : "" + var rangeDescriptor = semver.valid(k[1]) && + semver.gte(k[1], "0.1.0") + ? "~" : "" set[k[0]] = rangeDescriptor + k[1] return set }, {}) @@ -309,11 +320,13 @@ function treeify (installed) { , parent = r[2] , where = r[1] , what = r[0] + , from = r[4] l[where] = { parentDir: parentDir , parent: parent , children: [] , where: where - , what: what } + , what: what + , from: from } return l }, {}) @@ -368,7 +381,6 @@ function installManyTop_ (what, where, context, cb) { if (er) return installMany(what, where, context, cb) pkgs = pkgs.filter(function (p) { return !p.match(/^[\._-]/) - && (!context.explicit || names.indexOf(p) === -1) }) asyncMap(pkgs.map(function (p) { return path.resolve(nm, p, "package.json") @@ -429,7 +441,7 @@ function installMany (what, where, context, cb) { log.info(t._id, "into "+where) }) asyncMap(targets, function (target, cb) { - log(target._id, "installOne") + log.info(target._id, "installOne") var newWrap = wrap ? wrap[target.name].dependencies || {} : null var newContext = { family: newPrev , ancestors: newAnc @@ -469,6 +481,7 @@ function targetResolver (where, context, deps) { if (!alreadyInstalledManually) return setTimeout(function () { resolver(what, cb) }, to++) + // now we know what's been installed here manually, // or tampered with in some way that npm doesn't want to overwrite. if (alreadyInstalledManually.indexOf(what.split("@").shift()) !== -1) { @@ -479,13 +492,9 @@ function targetResolver (where, context, deps) { // check for a version installed higher in the tree. // If installing from a shrinkwrap, it must match exactly. if (context.family[what]) { - if (wrap && wrap[what].version == context.family[what]) { - log.verbose("using existing "+what+" (matches shrinkwrap)") - return cb(null, []) - } - if (!wrap && semver.satisfies(context.family[what], deps[what] || "")) { - log.verbose("using existing "+what+" (no shrinkwrap)") + if (wrap && wrap[what].version == context.family[what]) { + log.verbose(what, "using existing (matches shrinkwrap)") return cb(null, []) } } @@ -493,10 +502,11 @@ function targetResolver (where, context, deps) { if (wrap) { name = what.split(/@/).shift() if (wrap[name]) { - log.verbose("shrinkwrap: resolving "+what+" to "+wrap[name].version) - what = name + "@" + wrap[name].version + var wrapTarget = wrap[name].from || wrap[name].version + log.verbose("resolving "+what+" to "+wrapTarget, "shrinkwrap") + what = name + "@" + wrapTarget } else { - log.verbose("shrinkwrap: skipping "+what+" (not in shrinkwrap)") + log.verbose("skipping "+what+" (not in shrinkwrap)", "shrinkwrap") } } else if (deps[what]) { what = what + "@" + deps[what] @@ -504,13 +514,21 @@ function targetResolver (where, context, deps) { cache.add(what, function (er, data) { if (er && parent && parent.optionalDependencies && - parent.optionalDependencies.hasOwnProperty(what.split("@").shift())) { + parent.optionalDependencies.hasOwnProperty(what.split("@")[0])) { log.warn(what, "optional dependency failed, continuing") return cb(null, []) } - if (!er && data && context.family[data.name] === data.version) { + + if (!er && + data && + context.family[data.name] === data.version && + !npm.config.get("force")) { + log.info(data.name + "@" + data.version, "already installed") return cb(null, []) } + + if (data) data._from = what + return cb(er, data) }) } @@ -575,7 +593,8 @@ function resultList (target, where, parentId) { return [ target._id , targetFolder , prettyWhere && parentId - , parentId && prettyWhere ] + , parentId && prettyWhere + , target._from ] } function installOne_ (target, where, context, cb) { @@ -693,9 +712,11 @@ function write (target, targetFolder, context, cb_) { } chain - ( [ [ npm.commands.unbuild, [targetFolder] ] - , [ cache.unpack, target.name, target.version, targetFolder + ( [ [ cache.unpack, target.name, target.version, targetFolder , null, null, user, group ] + , [ fs, "writeFile" + , path.resolve(targetFolder, "package.json") + , JSON.stringify(target, null, 2) + "\n" ] , [ lifecycle, target, "preinstall", targetFolder ] ] // nest the chain so that we can throw away the results returned diff --git a/deps/npm/lib/ls.js b/deps/npm/lib/ls.js index a4ffc331a3..274d0f22b9 100644 --- a/deps/npm/lib/ls.js +++ b/deps/npm/lib/ls.js @@ -53,6 +53,7 @@ function ls (args, silent, cb) { function getLite (data, noname) { var lite = {} , maxDepth = npm.config.get("depth") + , url = require("url") if (!noname && data.name) lite.name = data.name if (data.version) lite.version = data.version @@ -64,6 +65,15 @@ function getLite (data, noname) { + " " + (data.path || "") ) } + if (data._from) { + var from = data._from + if (from.indexOf(data.name + "@") === 0) { + from = from.substr(data.name.length + 1) + } + var u = url.parse(from) + if (u.protocol) lite.from = from + } + if (data.invalid) { lite.invalid = true lite.problems = lite.problems || [] diff --git a/deps/npm/lib/npm.js b/deps/npm/lib/npm.js index 53197082cb..1defb883b1 100644 --- a/deps/npm/lib/npm.js +++ b/deps/npm/lib/npm.js @@ -112,6 +112,7 @@ var commandCache = {} , "unstar": "star" // same function , "apihelp" : "help" , "login": "adduser" + , "add-user": "adduser" } , aliasNames = Object.keys(aliases) diff --git a/deps/npm/lib/rebuild.js b/deps/npm/lib/rebuild.js index fc5f96825d..0e1d56a1de 100644 --- a/deps/npm/lib/rebuild.js +++ b/deps/npm/lib/rebuild.js @@ -31,7 +31,6 @@ function rebuild (args, cb) { function cleanBuild (folders, set, cb) { // https://github.com/isaacs/npm/issues/1872 - // If there's a makefile, try 'make clean' // If there's a wscript, try 'node-waf clean' // But don't die on either of those if they fail. // Just a best-effort kind of deal. @@ -41,8 +40,6 @@ function cleanBuild (folders, set, cb) { if (er) return cb(er) if (files.indexOf("wscript") !== -1) { exec("node-waf", ["clean"], null, false, f, thenBuild) - } else if (files.indexOf("Makefile") !== -1) { - exec("make", ["clean"], null, false, f, thenBuild) } else thenBuild() }) function thenBuild (er) { diff --git a/deps/npm/lib/utils/fetch.js b/deps/npm/lib/utils/fetch.js index ba1e567b1f..935e820397 100644 --- a/deps/npm/lib/utils/fetch.js +++ b/deps/npm/lib/utils/fetch.js @@ -10,7 +10,6 @@ var request = require("request") , path = require("path") , mkdir = require("./mkdir-p.js") , regHost - , getAgent = require("./get-agent.js") module.exports = fetch @@ -57,8 +56,8 @@ function makeRequest (remote, fstr, headers) { request({ url: remote , proxy: proxy - , agent: getAgent(remote) , strictSSL: npm.config.get("strict-ssl") + , ca: remote.host === regHost ? npm.config.get("ca") : undefined , onResponse: onResponse }).pipe(fstr) function onResponse (er, res) { if (er) return fstr.emit("error", er) diff --git a/deps/npm/lib/utils/find-prefix.js b/deps/npm/lib/utils/find-prefix.js index 320456c7ea..bc2c9598db 100644 --- a/deps/npm/lib/utils/find-prefix.js +++ b/deps/npm/lib/utils/find-prefix.js @@ -45,6 +45,9 @@ function findPrefix_ (p, original, cb) { return cb(null, p) } - return findPrefix_(path.dirname(p), original, cb) + var d = path.dirname(p) + if (d === p) return cb(null, original) + + return findPrefix_(d, original, cb) }) } diff --git a/deps/npm/lib/utils/get-agent.js b/deps/npm/lib/utils/get-agent.js deleted file mode 100644 index 4bc074f29b..0000000000 --- a/deps/npm/lib/utils/get-agent.js +++ /dev/null @@ -1,62 +0,0 @@ -// get an http/https agent -// This is necessary for the custom CA certs in http2, -// especially while juggling multiple different registries. -// -// When using http2, the agent key is just the CA setting, -// since it can manage socket pooling across different host:port -// options. When using the older implementation, the -// key is ca:host:port combination. - -module.exports = getAgent - -var npm = require("../npm.js") - , url = require("url") - , agents = {} - , isHttp2 = !!require("http").globalAgent - , registry = url.parse(npm.config.get("registry") || "") - , regCA = npm.config.get("ca") - -function getAgent (remote) { - // If not doing https, then there's no CA cert to manage. - // on http2, this will use the default global agent. - // on http1, this is undefined, so it'll spawn based on - // host:port if necessary. - if (remote.protocol !== "https:") { - return require("http").globalAgent - } - - if (typeof remote === "string") { - remote = url.parse(remote) - } - - var ca - // if this is the registry, then use the configuration ca. - // otherwise, just use the built-in CAs that node has. - // todo: multi-registry support. - if (remote.hostname === registry.hostname - && remote.port === registry.port) { - ca = regCA - } - - // no CA, just use the default agent. - if (!ca) { - return require("https").globalAgent - } - - var hostname = remote.hostname - , port = remote.port - , key = agentKey(hostname, port, ca) - - return agents[key] = agents[key] || getAgent_(hostname, port, ca) -} - -function getAgent_ (hostname, port, ca) { - var Agent = require("https").Agent - return new Agent({ host: hostname - , port: port - , ca: ca }) -} - -function agentKey (hostname, port, ca) { - return JSON.stringify(isHttp2 ? ca : [hostname, port, ca]) -} diff --git a/deps/npm/lib/utils/ini.js b/deps/npm/lib/utils/ini.js index 48d4f99edf..b033b6a04d 100644 --- a/deps/npm/lib/utils/ini.js +++ b/deps/npm/lib/utils/ini.js @@ -323,8 +323,14 @@ function envReplace (f) { if (typeof f !== "string" || !f) return f // replace any ${ENV} values with the appropriate environ. - return f.replace(/\$\{([^}]+)\}/g, function (orig, name, i, s) { - return process.env[name] || orig + var envExpr = /(\\*)\$\{([^}]+)\}/g + return f.replace(envExpr, function (orig, esc, name, i, s) { + esc = esc.length && esc.length % 2 + if (esc) return orig + if (undefined === process.env[name]) { + throw new Error("Failed to replace env in config: "+orig) + } + return process.env[name] }) } diff --git a/deps/npm/lib/utils/lifecycle.js b/deps/npm/lib/utils/lifecycle.js index 51ad7ba696..085dcc88a2 100644 --- a/deps/npm/lib/utils/lifecycle.js +++ b/deps/npm/lib/utils/lifecycle.js @@ -247,6 +247,10 @@ function makeEnv (data, prefix, env) { return } var value = ini.get(i) + if (/^(log|out)fd$/.test(i) && typeof value === "object") { + // not an fd, a stream + return + } if (!value) value = "" else if (typeof value !== "string") value = JSON.stringify(value) diff --git a/deps/npm/lib/utils/npm-registry-client/request.js b/deps/npm/lib/utils/npm-registry-client/request.js index d98135e49e..5213c7966b 100644 --- a/deps/npm/lib/utils/npm-registry-client/request.js +++ b/deps/npm/lib/utils/npm-registry-client/request.js @@ -16,7 +16,6 @@ var npm = require("../../npm.js") , stream = require("stream") , Stream = stream.Stream , request = require("request") - , getAgent = require("../get-agent.js") function regRequest (method, where, what, etag, nofollow, cb_) { if (typeof cb_ !== "function") cb_ = nofollow, nofollow = false @@ -85,7 +84,7 @@ function regRequest (method, where, what, etag, nofollow, cb_) { function makeRequest (method, remote, where, what, etag, nofollow, cb) { var opts = { url: remote , method: method - , agent: getAgent(remote) + , ca: npm.config.get("ca") , strictSSL: npm.config.get("strict-ssl") } , headers = opts.headers = {} if (etag) { diff --git a/deps/npm/lib/utils/output.js b/deps/npm/lib/utils/output.js index 00da9f69f7..b705153ad5 100644 --- a/deps/npm/lib/utils/output.js +++ b/deps/npm/lib/utils/output.js @@ -58,6 +58,7 @@ function write (args, stream, lf, cb) { if (!npm.config.get("unicode")) { arg = arg.replace(/â””/g, "`") .replace(/─/g, "-") + .replace(/│/g, "|") .replace(/├/g, "+") .replace(/┬/g, "-") } diff --git a/deps/npm/lib/utils/tar.js b/deps/npm/lib/utils/tar.js index f315bbf961..8a1bab05f7 100644 --- a/deps/npm/lib/utils/tar.js +++ b/deps/npm/lib/utils/tar.js @@ -203,19 +203,57 @@ function gunzTarPerm (tarball, tmp, dMode, fMode, uid, gid, cb) { if (!fMode) fMode = npm.modes.file log.silly([dMode.toString(8), fMode.toString(8)], "gunzTarPerm modes") - fs.createReadStream(tarball) - .on("error", log.er(cb, "error reading "+tarball)) - .pipe(zlib.Unzip()) - .on("error", log.er(cb, "unzip error "+tarball)) - .pipe(tar.Extract({ type: "Directory", path: tmp })) - .on("error", log.er(cb, "Failed unpacking "+tarball)) - .on("close", afterUntar) - - // - // XXX Do all this in an Extract filter. - // + var fst = fs.createReadStream(tarball) + + fst.on("error", log.er(cb, "error reading "+tarball)) + fst.on("data", function OD (c) { + // detect what it is. + // Then, depending on that, we'll figure out whether it's + // a single-file module, gzipped tarball, or naked tarball. + // gzipped files all start with 1f8b08 + if (c[0] === 0x1F && + c[1] === 0x8B && + c[2] === 0x08) { + var extracter = tar.Extract({ type: "Directory", path: tmp }) + fst + .pipe(zlib.Unzip()) + .on("error", log.er(cb, "unzip error "+tarball)) + .pipe(tar.Extract({ type: "Directory", path: tmp })) + .on("error", log.er(cb, "untar error "+tarball)) + .on("close", afterUntar) + } else if (c.toString().match(/^package\//)) { + // naked tar + fst + .pipe(tar.Extract({ type: "Directory", path: tmp })) + .on("error", log.er(cb, "untar error "+tarball)) + .on("close", afterUntar) + } else { + // naked js file + fst + .pipe(fstream.Writer({ path: path.resolve(tmp, "package/index.js") })) + .on("error", log.er(cb, "copy error "+tarball)) + .on("close", function () { + var j = path.resolve(tmp, "package/package.json") + readJson(j, function (er, d) { + if (er) { + log.error(tarball, "Not a package") + return cb(er) + } + fs.writeFile(j, JSON.stringify(d) + "\n", function (er) { + if (er) return cb(er) + return afterUntar() + }) + }) + }) + } + + // now un-hook, and re-emit the chunk + fst.removeListener("data", OD) + fst.emit("data", c) + }) + function afterUntar (er) { - log.silly(er, "afterUntar") + log.silly(er || "ok", "afterUntar") // if we're not doing ownership management, // then we're done now. if (er) return log.er(cb, "Failed unpacking "+tarball)(er) @@ -542,7 +580,11 @@ function makeList_ (dir, pkg, exList, dfc, cb) { if (path.basename(dir) === "node_modules" && pkg.path === path.dirname(dir) - && dfc) { // do fancy crap + // do fancy crap + && dfc + // not already part of a bundled dependency + && path.basename(path.dirname(pkg.path)) !== "node_modules") { + log.verbose(dir, "doing fancy crap") files = filterNodeModules(files, pkg) } else { // If a directory is excluded, we still need to be diff --git a/deps/npm/lib/version.js b/deps/npm/lib/version.js index f13d9e1b2e..febb56d730 100644 --- a/deps/npm/lib/version.js +++ b/deps/npm/lib/version.js @@ -63,6 +63,6 @@ function checkGit (data, cb) { } function write (data, cb) { fs.writeFile( path.join(process.cwd(), "package.json") - , new Buffer(JSON.stringify(data, null, 2)) + , new Buffer(JSON.stringify(data, null, 2) + "\n") , cb ) } diff --git a/deps/npm/man/man1/README.1 b/deps/npm/man/man1/README.1 index 981f69876e..7815aecf49 100644 --- a/deps/npm/man/man1/README.1 +++ b/deps/npm/man/man1/README.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM" "1" "February 2012" "" "" +.TH "NPM" "1" "March 2012" "" "" . .SH "NAME" \fBnpm\fR \-\- node package manager diff --git a/deps/npm/man/man1/adduser.1 b/deps/npm/man/man1/adduser.1 index 1640e5cfdf..40082f9552 100644 --- a/deps/npm/man/man1/adduser.1 +++ b/deps/npm/man/man1/adduser.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-ADDUSER" "1" "February 2012" "" "" +.TH "NPM\-ADDUSER" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-adduser\fR \-\- Add a registry user account diff --git a/deps/npm/man/man1/bin.1 b/deps/npm/man/man1/bin.1 index 09a0508c21..1f07014936 100644 --- a/deps/npm/man/man1/bin.1 +++ b/deps/npm/man/man1/bin.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-BIN" "1" "February 2012" "" "" +.TH "NPM\-BIN" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-bin\fR \-\- Display npm bin folder diff --git a/deps/npm/man/man1/bugs.1 b/deps/npm/man/man1/bugs.1 index 24713e2882..01e01d63dc 100644 --- a/deps/npm/man/man1/bugs.1 +++ b/deps/npm/man/man1/bugs.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-BUGS" "1" "February 2012" "" "" +.TH "NPM\-BUGS" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-bugs\fR \-\- Bugs for a package in a web browser maybe diff --git a/deps/npm/man/man1/build.1 b/deps/npm/man/man1/build.1 index 9c4591ceff..541dd494a3 100644 --- a/deps/npm/man/man1/build.1 +++ b/deps/npm/man/man1/build.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-BUILD" "1" "February 2012" "" "" +.TH "NPM\-BUILD" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-build\fR \-\- Build a package diff --git a/deps/npm/man/man1/bundle.1 b/deps/npm/man/man1/bundle.1 index 61973b8c94..6ff090817b 100644 --- a/deps/npm/man/man1/bundle.1 +++ b/deps/npm/man/man1/bundle.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-BUNDLE" "1" "February 2012" "" "" +.TH "NPM\-BUNDLE" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-bundle\fR \-\- REMOVED diff --git a/deps/npm/man/man1/cache.1 b/deps/npm/man/man1/cache.1 index 07e1411b0a..f185ea9703 100644 --- a/deps/npm/man/man1/cache.1 +++ b/deps/npm/man/man1/cache.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-CACHE" "1" "February 2012" "" "" +.TH "NPM\-CACHE" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-cache\fR \-\- Manipulates packages cache diff --git a/deps/npm/man/man1/changelog.1 b/deps/npm/man/man1/changelog.1 index f6c968ed0b..7af6709c7f 100644 --- a/deps/npm/man/man1/changelog.1 +++ b/deps/npm/man/man1/changelog.1 @@ -1,13 +1,95 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-CHANGELOG" "1" "February 2012" "" "" +.TH "NPM\-CHANGELOG" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-changelog\fR \-\- Changes . .SH "HISTORY" . +.SS "1\.1\.3" +. +.IP "\(bu" 4 +Update request to support HTTPS\-over\-HTTP proxy tunneling +. +.IP "\(bu" 4 +Throw on undefined envs in config settings +. +.IP "\(bu" 4 +Update which to 1\.0\.5 +. +.IP "\(bu" 4 +Fix windows UNC busyloop in findPrefix +. +.IP "\(bu" 4 +Bundle nested bundleDependencies properly +. +.IP "\(bu" 4 +Alias adduser to add\-user +. +.IP "\(bu" 4 +Doc updates (Christian Howe, Henrik Hodne, Andrew Lunny) +. +.IP "\(bu" 4 +ignore logfd/outfd streams in makeEnv() (Rod Vagg) +. +.IP "\(bu" 4 +shrinkwrap: Behave properly with url\-installed deps +. +.IP "\(bu" 4 +install: Support \-\-save with url install targets +. +.IP "\(bu" 4 +Support installing naked tars or single\-file modules from urls etc\. +. +.IP "\(bu" 4 +init: Don\'t add engines section +. +.IP "\(bu" 4 +Don\'t run make clean on rebuild +. +.IP "\(bu" 4 +Added missing unicode replacement (atomizer) +. +.IP "" 0 +. +.SS "1\.1\.2" +Dave Pacheco (2): + add "npm shrinkwrap" +. +.P +Martin Cooper (1): + Fix #1753 Make a copy of the cached objects we\'ll modify\. +. +.P +Tim Oxley (1): + correctly remove readme from default npm view command\. +. +.P +Tyler Green (1): + fix #2187 set terminal columns to Infinity if 0 +. +.P +isaacs (19): + update minimatch + update request + Experimental: single\-file modules + Fix #2172 Don\'t remove global mans uninstalling local pkgs + Add \-\-versions flag to show the version of node as well + Support \-\-json flag for ls output + update request to 2\.9\.151 +. +.SS "1\.1" +. +.IP "\(bu" 4 +Replace system tar dependency with a JS tar +. +.IP "\(bu" 4 +Continue to refine +. +.IP "" 0 +. .SS "1\.0" . .IP "\(bu" 4 diff --git a/deps/npm/man/man1/coding-style.1 b/deps/npm/man/man1/coding-style.1 index ac56410a43..25d53aa77c 100644 --- a/deps/npm/man/man1/coding-style.1 +++ b/deps/npm/man/man1/coding-style.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-CODING\-STYLE" "1" "February 2012" "" "" +.TH "NPM\-CODING\-STYLE" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-coding-style\fR \-\- npm\'s "funny" coding style @@ -99,10 +99,10 @@ null loops like: \fBwhile (something) ;\fR (But you\'d better have a good reason for doing that\.) . .IP "\(bu" 4 -case "foo": doSomething(); break +\fBcase "foo": doSomething(); break\fR . .IP "\(bu" 4 -In front of a leading ( or [ at the start of the line\. +In front of a leading \fB(\fR or \fB[\fR at the start of the line\. This prevents the expression from being interpreted as a function call or property access, respectively\. . diff --git a/deps/npm/man/man1/completion.1 b/deps/npm/man/man1/completion.1 index a9634bd9d3..4acded61a9 100644 --- a/deps/npm/man/man1/completion.1 +++ b/deps/npm/man/man1/completion.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-COMPLETION" "1" "February 2012" "" "" +.TH "NPM\-COMPLETION" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-completion\fR \-\- Tab Completion for npm diff --git a/deps/npm/man/man1/config.1 b/deps/npm/man/man1/config.1 index 82f38fea74..830a9a6de0 100644 --- a/deps/npm/man/man1/config.1 +++ b/deps/npm/man/man1/config.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-CONFIG" "1" "February 2012" "" "" +.TH "NPM\-CONFIG" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-config\fR \-\- Manage the npm configuration file diff --git a/deps/npm/man/man1/deprecate.1 b/deps/npm/man/man1/deprecate.1 index fd4ced7c51..46670bcd02 100644 --- a/deps/npm/man/man1/deprecate.1 +++ b/deps/npm/man/man1/deprecate.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-DEPRECATE" "1" "February 2012" "" "" +.TH "NPM\-DEPRECATE" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-deprecate\fR \-\- Deprecate a version of a package diff --git a/deps/npm/man/man1/developers.1 b/deps/npm/man/man1/developers.1 index 949718e09b..465b03812a 100644 --- a/deps/npm/man/man1/developers.1 +++ b/deps/npm/man/man1/developers.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-DEVELOPERS" "1" "February 2012" "" "" +.TH "NPM\-DEVELOPERS" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-developers\fR \-\- Developer Guide @@ -43,6 +43,9 @@ e) a \fB<name>@<tag>\fR that points to (d) .IP "\(bu" 4 f) a \fB<name>\fR that has a "latest" tag satisfying (e) . +.IP "\(bu" 4 +g) a \fBgit\fR url that, when cloned, results in (a)\. +. .IP "" 0 . .P @@ -51,6 +54,25 @@ benefits of using npm if you just want to write a node program (a), and perhaps if you also want to be able to easily install it elsewhere after packing it up into a tarball (b)\. . +.P +Git urls can be of the form: +. +.IP "" 4 +. +.nf +git://github\.com/user/project\.git#commit\-ish +git+ssh://user@hostname:project\.git#commit\-ish +git+http://user@hostname/project/blah\.git#commit\-ish +git+https://user@hostname/project/blah\.git#commit\-ish +. +.fi +. +.IP "" 0 +. +.P +The \fBcommit\-ish\fR can be any tag, sha, or branch which can be supplied as +an argument to \fBgit checkout\fR\|\. The default is \fBmaster\fR\|\. +. .SH "The package\.json File" You need to have a \fBpackage\.json\fR file in the root of your project to do much of anything with npm\. That is basically the whole interface\. diff --git a/deps/npm/man/man1/disputes.1 b/deps/npm/man/man1/disputes.1 index 138b820ade..eb14276444 100644 --- a/deps/npm/man/man1/disputes.1 +++ b/deps/npm/man/man1/disputes.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-DISPUTES" "1" "February 2012" "" "" +.TH "NPM\-DISPUTES" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-disputes\fR \-\- Handling Module Name Disputes diff --git a/deps/npm/man/man1/docs.1 b/deps/npm/man/man1/docs.1 index 79ec1219aa..292042dcf1 100644 --- a/deps/npm/man/man1/docs.1 +++ b/deps/npm/man/man1/docs.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-DOCS" "1" "February 2012" "" "" +.TH "NPM\-DOCS" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-docs\fR \-\- Docs for a package in a web browser maybe diff --git a/deps/npm/man/man1/edit.1 b/deps/npm/man/man1/edit.1 index 55b4e0c521..b64f80af87 100644 --- a/deps/npm/man/man1/edit.1 +++ b/deps/npm/man/man1/edit.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-EDIT" "1" "February 2012" "" "" +.TH "NPM\-EDIT" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-edit\fR \-\- Edit an installed package diff --git a/deps/npm/man/man1/explore.1 b/deps/npm/man/man1/explore.1 index 81905246de..8aa212cb2e 100644 --- a/deps/npm/man/man1/explore.1 +++ b/deps/npm/man/man1/explore.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-EXPLORE" "1" "February 2012" "" "" +.TH "NPM\-EXPLORE" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-explore\fR \-\- Browse an installed package diff --git a/deps/npm/man/man1/faq.1 b/deps/npm/man/man1/faq.1 index a674d46fa2..1443fd784e 100644 --- a/deps/npm/man/man1/faq.1 +++ b/deps/npm/man/man1/faq.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-FAQ" "1" "February 2012" "" "" +.TH "NPM\-FAQ" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-faq\fR \-\- Frequently Asked Questions diff --git a/deps/npm/man/man1/folders.1 b/deps/npm/man/man1/folders.1 index 08a47b5d2c..f043ce2879 100644 --- a/deps/npm/man/man1/folders.1 +++ b/deps/npm/man/man1/folders.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-FOLDERS" "1" "February 2012" "" "" +.TH "NPM\-FOLDERS" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-folders\fR \-\- Folder Structures Used by npm diff --git a/deps/npm/man/man1/help-search.1 b/deps/npm/man/man1/help-search.1 index 21b1279b1a..2dbc634163 100644 --- a/deps/npm/man/man1/help-search.1 +++ b/deps/npm/man/man1/help-search.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-HELP\-SEARCH" "1" "February 2012" "" "" +.TH "NPM\-HELP\-SEARCH" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-help-search\fR \-\- Search npm help documentation diff --git a/deps/npm/man/man1/help.1 b/deps/npm/man/man1/help.1 index 3d4a4b815c..ce2dd995d2 100644 --- a/deps/npm/man/man1/help.1 +++ b/deps/npm/man/man1/help.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-HELP" "1" "February 2012" "" "" +.TH "NPM\-HELP" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-help\fR \-\- Get help on npm diff --git a/deps/npm/man/man1/index.1 b/deps/npm/man/man1/index.1 index bc1c2c6733..5dc7acbe01 100644 --- a/deps/npm/man/man1/index.1 +++ b/deps/npm/man/man1/index.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-INDEX" "1" "February 2012" "" "" +.TH "NPM\-INDEX" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-index\fR \-\- Index of all npm documentation diff --git a/deps/npm/man/man1/init.1 b/deps/npm/man/man1/init.1 index 547bcc022e..c7c3e211bb 100644 --- a/deps/npm/man/man1/init.1 +++ b/deps/npm/man/man1/init.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-INIT" "1" "February 2012" "" "" +.TH "NPM\-INIT" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-init\fR \-\- Interactively create a package\.json file diff --git a/deps/npm/man/man1/install.1 b/deps/npm/man/man1/install.1 index 96676562c0..c0069f2306 100644 --- a/deps/npm/man/man1/install.1 +++ b/deps/npm/man/man1/install.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-INSTALL" "1" "February 2012" "" "" +.TH "NPM\-INSTALL" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-install\fR \-\- Install a package diff --git a/deps/npm/man/man1/json.1 b/deps/npm/man/man1/json.1 index 470719eebe..66d167dca7 100644 --- a/deps/npm/man/man1/json.1 +++ b/deps/npm/man/man1/json.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-JSON" "1" "February 2012" "" "" +.TH "NPM\-JSON" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-json\fR \-\- Specifics of npm\'s package\.json handling @@ -466,6 +466,9 @@ is a semver compatible version identifier\. .IP "\(bu" 4 \fBrange1 || range2\fR Passes if either range1 or range2 are satisfied\. . +.IP "\(bu" 4 +\fBgit\.\.\.\fR See \'Git URLs as Dependencies\' below +. .IP "" 0 . .P @@ -554,6 +557,25 @@ of a version range\. This tarball will be downloaded and installed locally to your package at install time\. . +.SS "Git URLs as Dependencies" +Git urls can be of the form: +. +.IP "" 4 +. +.nf +git://github\.com/user/project\.git#commit\-ish +git+ssh://user@hostname:project\.git#commit\-ish +git+http://user@hostname/project/blah\.git#commit\-ish +git+https://user@hostname/project/blah\.git#commit\-ish +. +.fi +. +.IP "" 0 +. +.P +The \fBcommit\-ish\fR can be any tag, sha, or branch which can be supplied as +an argument to \fBgit checkout\fR\|\. The default is \fBmaster\fR\|\. +. .SH "devDependencies" If someone is planning on downloading and using your module in their program, then they probably don\'t want or need to download and build diff --git a/deps/npm/man/man1/link.1 b/deps/npm/man/man1/link.1 index cac1ff7b7e..374d5a8536 100644 --- a/deps/npm/man/man1/link.1 +++ b/deps/npm/man/man1/link.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-LINK" "1" "February 2012" "" "" +.TH "NPM\-LINK" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-link\fR \-\- Symlink a package folder diff --git a/deps/npm/man/man1/list.1 b/deps/npm/man/man1/list.1 index d531dceeb1..df6aae0ae6 100644 --- a/deps/npm/man/man1/list.1 +++ b/deps/npm/man/man1/list.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-LS" "1" "February 2012" "" "" +.TH "NPM\-LS" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-ls\fR \-\- List installed packages diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1 index 6ae5610bbf..a7ec8cf195 100644 --- a/deps/npm/man/man1/npm.1 +++ b/deps/npm/man/man1/npm.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM" "1" "February 2012" "" "" +.TH "NPM" "1" "March 2012" "" "" . .SH "NAME" \fBnpm\fR \-\- node package manager @@ -14,7 +14,7 @@ npm <command> [args] .fi . .SH "VERSION" -1.1.2 +1.1.3 . .SH "DESCRIPTION" npm is the package manager for the Node JavaScript platform\. It puts diff --git a/deps/npm/man/man1/outdated.1 b/deps/npm/man/man1/outdated.1 index 8797722327..b693c7ece7 100644 --- a/deps/npm/man/man1/outdated.1 +++ b/deps/npm/man/man1/outdated.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-OUTDATED" "1" "February 2012" "" "" +.TH "NPM\-OUTDATED" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-outdated\fR \-\- Check for outdated packages diff --git a/deps/npm/man/man1/owner.1 b/deps/npm/man/man1/owner.1 index 4ad3a404f9..017e0b77c0 100644 --- a/deps/npm/man/man1/owner.1 +++ b/deps/npm/man/man1/owner.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-OWNER" "1" "February 2012" "" "" +.TH "NPM\-OWNER" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-owner\fR \-\- Manage package owners diff --git a/deps/npm/man/man1/pack.1 b/deps/npm/man/man1/pack.1 index 82d7c17e80..77928f9d65 100644 --- a/deps/npm/man/man1/pack.1 +++ b/deps/npm/man/man1/pack.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-PACK" "1" "February 2012" "" "" +.TH "NPM\-PACK" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-pack\fR \-\- Create a tarball from a package diff --git a/deps/npm/man/man1/prefix.1 b/deps/npm/man/man1/prefix.1 index e19180e22a..c8989a5a87 100644 --- a/deps/npm/man/man1/prefix.1 +++ b/deps/npm/man/man1/prefix.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-PREFIX" "1" "February 2012" "" "" +.TH "NPM\-PREFIX" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-prefix\fR \-\- Display prefix diff --git a/deps/npm/man/man1/prune.1 b/deps/npm/man/man1/prune.1 index b56a9c2165..adcc29df1c 100644 --- a/deps/npm/man/man1/prune.1 +++ b/deps/npm/man/man1/prune.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-PRUNE" "1" "February 2012" "" "" +.TH "NPM\-PRUNE" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-prune\fR \-\- Remove extraneous packages diff --git a/deps/npm/man/man1/publish.1 b/deps/npm/man/man1/publish.1 index c983db4dfe..8b16883c43 100644 --- a/deps/npm/man/man1/publish.1 +++ b/deps/npm/man/man1/publish.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-PUBLISH" "1" "February 2012" "" "" +.TH "NPM\-PUBLISH" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-publish\fR \-\- Publish a package diff --git a/deps/npm/man/man1/rebuild.1 b/deps/npm/man/man1/rebuild.1 index 3094268b0c..fe3fe77b1c 100644 --- a/deps/npm/man/man1/rebuild.1 +++ b/deps/npm/man/man1/rebuild.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-REBUILD" "1" "February 2012" "" "" +.TH "NPM\-REBUILD" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-rebuild\fR \-\- Rebuild a package diff --git a/deps/npm/man/man1/registry.1 b/deps/npm/man/man1/registry.1 index 28868a68b0..92324896c2 100644 --- a/deps/npm/man/man1/registry.1 +++ b/deps/npm/man/man1/registry.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-REGISTRY" "1" "February 2012" "" "" +.TH "NPM\-REGISTRY" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-registry\fR \-\- The JavaScript Package Registry diff --git a/deps/npm/man/man1/removing-npm.1 b/deps/npm/man/man1/removing-npm.1 index a18340f687..9d855060d7 100644 --- a/deps/npm/man/man1/removing-npm.1 +++ b/deps/npm/man/man1/removing-npm.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-REMOVAL" "1" "February 2012" "" "" +.TH "NPM\-REMOVAL" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-removal\fR \-\- Cleaning the Slate diff --git a/deps/npm/man/man1/restart.1 b/deps/npm/man/man1/restart.1 index 487116d8c9..cd5d11e884 100644 --- a/deps/npm/man/man1/restart.1 +++ b/deps/npm/man/man1/restart.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-RESTART" "1" "February 2012" "" "" +.TH "NPM\-RESTART" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-restart\fR \-\- Start a package diff --git a/deps/npm/man/man1/root.1 b/deps/npm/man/man1/root.1 index 7626d3a979..28fbc52714 100644 --- a/deps/npm/man/man1/root.1 +++ b/deps/npm/man/man1/root.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-ROOT" "1" "February 2012" "" "" +.TH "NPM\-ROOT" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-root\fR \-\- Display npm root diff --git a/deps/npm/man/man1/run-script.1 b/deps/npm/man/man1/run-script.1 index 05c43f8e6d..7474610260 100644 --- a/deps/npm/man/man1/run-script.1 +++ b/deps/npm/man/man1/run-script.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-RUN\-SCRIPT" "1" "February 2012" "" "" +.TH "NPM\-RUN\-SCRIPT" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-run-script\fR \-\- Run arbitrary package scripts diff --git a/deps/npm/man/man1/scripts.1 b/deps/npm/man/man1/scripts.1 index 003f8b7e31..d8c5b66b03 100644 --- a/deps/npm/man/man1/scripts.1 +++ b/deps/npm/man/man1/scripts.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-SCRIPTS" "1" "February 2012" "" "" +.TH "NPM\-SCRIPTS" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-scripts\fR \-\- How npm handles the "scripts" field @@ -94,6 +94,26 @@ Package scripts run in an environment where many pieces of information are made available regarding the setup of npm and the current state of the process\. . +.SS "path" +If you depend on modules that define executable scripts, like test suites, +then those executables will be added to the \fBPATH\fR for executing the scripts\. +So, if your package\.json has this: +. +.IP "" 4 +. +.nf +{ "name" : "foo" +, "dependencies" : { "bar" : "0\.1\.x" } +, "scripts": { "start" : "bar \./test" } } +. +.fi +. +.IP "" 0 +. +.P +then you could run \fBnpm start\fR to execute the \fBbar\fR script, which is exported +into the \fBnode_modules/\.bin\fR directory on \fBnpm install\fR\|\. +. .SS "package\.json vars" The package\.json fields are tacked onto the \fBnpm_package_\fR prefix\. So, for instance, if you had \fB{"name":"foo", "version":"1\.2\.5"}\fR in your package\.json diff --git a/deps/npm/man/man1/search.1 b/deps/npm/man/man1/search.1 index b5c3d1e7cd..815452c603 100644 --- a/deps/npm/man/man1/search.1 +++ b/deps/npm/man/man1/search.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-SEARCH" "1" "February 2012" "" "" +.TH "NPM\-SEARCH" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-search\fR \-\- Search for packages diff --git a/deps/npm/man/man1/semver.1 b/deps/npm/man/man1/semver.1 index 6ac638e412..3cd98ff2c5 100644 --- a/deps/npm/man/man1/semver.1 +++ b/deps/npm/man/man1/semver.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-SEMVER" "1" "February 2012" "" "" +.TH "NPM\-SEMVER" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-semver\fR \-\- The semantic versioner for npm diff --git a/deps/npm/man/man1/shrinkwrap.1 b/deps/npm/man/man1/shrinkwrap.1 index 8328b62fda..37630d9eef 100644 --- a/deps/npm/man/man1/shrinkwrap.1 +++ b/deps/npm/man/man1/shrinkwrap.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-SHRINKWRAP" "1" "February 2012" "" "" +.TH "NPM\-SHRINKWRAP" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-shrinkwrap\fR \-\- Lock down dependency versions diff --git a/deps/npm/man/man1/star.1 b/deps/npm/man/man1/star.1 index d4096264bc..cd9204e361 100644 --- a/deps/npm/man/man1/star.1 +++ b/deps/npm/man/man1/star.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-STAR" "1" "February 2012" "" "" +.TH "NPM\-STAR" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-star\fR \-\- Mark your favorite packages diff --git a/deps/npm/man/man1/start.1 b/deps/npm/man/man1/start.1 index 91ea22d45f..13077070bf 100644 --- a/deps/npm/man/man1/start.1 +++ b/deps/npm/man/man1/start.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-START" "1" "February 2012" "" "" +.TH "NPM\-START" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-start\fR \-\- Start a package diff --git a/deps/npm/man/man1/stop.1 b/deps/npm/man/man1/stop.1 index 7a9540014a..188af67492 100644 --- a/deps/npm/man/man1/stop.1 +++ b/deps/npm/man/man1/stop.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-STOP" "1" "February 2012" "" "" +.TH "NPM\-STOP" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-stop\fR \-\- Stop a package diff --git a/deps/npm/man/man1/submodule.1 b/deps/npm/man/man1/submodule.1 index 07ffcfff56..cee5f334ef 100644 --- a/deps/npm/man/man1/submodule.1 +++ b/deps/npm/man/man1/submodule.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-SUBMODULE" "1" "February 2012" "" "" +.TH "NPM\-SUBMODULE" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-submodule\fR \-\- Add a package as a git submodule diff --git a/deps/npm/man/man1/tag.1 b/deps/npm/man/man1/tag.1 index 654ffbbca4..e5ac519229 100644 --- a/deps/npm/man/man1/tag.1 +++ b/deps/npm/man/man1/tag.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-TAG" "1" "February 2012" "" "" +.TH "NPM\-TAG" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-tag\fR \-\- Tag a published version diff --git a/deps/npm/man/man1/test.1 b/deps/npm/man/man1/test.1 index 4b1748c63a..a24e2d0ddc 100644 --- a/deps/npm/man/man1/test.1 +++ b/deps/npm/man/man1/test.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-TEST" "1" "February 2012" "" "" +.TH "NPM\-TEST" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-test\fR \-\- Test a package diff --git a/deps/npm/man/man1/uninstall.1 b/deps/npm/man/man1/uninstall.1 index 81c1049940..7005ba1e3e 100644 --- a/deps/npm/man/man1/uninstall.1 +++ b/deps/npm/man/man1/uninstall.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-RM" "1" "February 2012" "" "" +.TH "NPM\-RM" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-rm\fR \-\- Remove a package diff --git a/deps/npm/man/man1/unpublish.1 b/deps/npm/man/man1/unpublish.1 index 41301de5cd..4b8bc86dfb 100644 --- a/deps/npm/man/man1/unpublish.1 +++ b/deps/npm/man/man1/unpublish.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-UNPUBLISH" "1" "February 2012" "" "" +.TH "NPM\-UNPUBLISH" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-unpublish\fR \-\- Remove a package from the registry diff --git a/deps/npm/man/man1/update.1 b/deps/npm/man/man1/update.1 index 9471997275..ba3e8b653e 100644 --- a/deps/npm/man/man1/update.1 +++ b/deps/npm/man/man1/update.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-UPDATE" "1" "February 2012" "" "" +.TH "NPM\-UPDATE" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-update\fR \-\- Update a package diff --git a/deps/npm/man/man1/version.1 b/deps/npm/man/man1/version.1 index 80cc888134..1395591916 100644 --- a/deps/npm/man/man1/version.1 +++ b/deps/npm/man/man1/version.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-VERSION" "1" "February 2012" "" "" +.TH "NPM\-VERSION" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-version\fR \-\- Bump a package version diff --git a/deps/npm/man/man1/view.1 b/deps/npm/man/man1/view.1 index 5a5375d51c..c874ff47ff 100644 --- a/deps/npm/man/man1/view.1 +++ b/deps/npm/man/man1/view.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-VIEW" "1" "February 2012" "" "" +.TH "NPM\-VIEW" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-view\fR \-\- View registry info diff --git a/deps/npm/man/man1/whoami.1 b/deps/npm/man/man1/whoami.1 index 2d38727d66..06d221d031 100644 --- a/deps/npm/man/man1/whoami.1 +++ b/deps/npm/man/man1/whoami.1 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-WHOAMI" "1" "February 2012" "" "" +.TH "NPM\-WHOAMI" "1" "March 2012" "" "" . .SH "NAME" \fBnpm-whoami\fR \-\- Display npm username diff --git a/deps/npm/man/man3/bin.3 b/deps/npm/man/man3/bin.3 index c2016d9d30..7aaa11b2a2 100644 --- a/deps/npm/man/man3/bin.3 +++ b/deps/npm/man/man3/bin.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-BIN" "3" "February 2012" "" "" +.TH "NPM\-BIN" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-bin\fR \-\- Display npm bin folder diff --git a/deps/npm/man/man3/bugs.3 b/deps/npm/man/man3/bugs.3 index ae6d5d4c91..6d61dcd467 100644 --- a/deps/npm/man/man3/bugs.3 +++ b/deps/npm/man/man3/bugs.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-BUGS" "3" "February 2012" "" "" +.TH "NPM\-BUGS" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-bugs\fR \-\- Bugs for a package in a web browser maybe diff --git a/deps/npm/man/man3/commands.3 b/deps/npm/man/man3/commands.3 index 64b0a69431..c23016df35 100644 --- a/deps/npm/man/man3/commands.3 +++ b/deps/npm/man/man3/commands.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-COMMANDS" "3" "February 2012" "" "" +.TH "NPM\-COMMANDS" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-commands\fR \-\- npm commands diff --git a/deps/npm/man/man3/config.3 b/deps/npm/man/man3/config.3 index d2382266af..d18739b50a 100644 --- a/deps/npm/man/man3/config.3 +++ b/deps/npm/man/man3/config.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-CONFIG" "3" "February 2012" "" "" +.TH "NPM\-CONFIG" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-config\fR \-\- Manage the npm configuration files diff --git a/deps/npm/man/man3/deprecate.3 b/deps/npm/man/man3/deprecate.3 index 535ba5ad62..2448ab3c7d 100644 --- a/deps/npm/man/man3/deprecate.3 +++ b/deps/npm/man/man3/deprecate.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-DEPRECATE" "3" "February 2012" "" "" +.TH "NPM\-DEPRECATE" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-deprecate\fR \-\- Deprecate a version of a package diff --git a/deps/npm/man/man3/docs.3 b/deps/npm/man/man3/docs.3 index b06876e133..8373f6d057 100644 --- a/deps/npm/man/man3/docs.3 +++ b/deps/npm/man/man3/docs.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-DOCS" "3" "February 2012" "" "" +.TH "NPM\-DOCS" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-docs\fR \-\- Docs for a package in a web browser maybe diff --git a/deps/npm/man/man3/edit.3 b/deps/npm/man/man3/edit.3 index 5435838f32..3f790229e5 100644 --- a/deps/npm/man/man3/edit.3 +++ b/deps/npm/man/man3/edit.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-EDIT" "3" "February 2012" "" "" +.TH "NPM\-EDIT" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-edit\fR \-\- Edit an installed package diff --git a/deps/npm/man/man3/explore.3 b/deps/npm/man/man3/explore.3 index 742e359863..0d4ee62fee 100644 --- a/deps/npm/man/man3/explore.3 +++ b/deps/npm/man/man3/explore.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-EXPLORE" "3" "February 2012" "" "" +.TH "NPM\-EXPLORE" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-explore\fR \-\- Browse an installed package diff --git a/deps/npm/man/man3/help-search.3 b/deps/npm/man/man3/help-search.3 index 06f4da06c6..291037a1c3 100644 --- a/deps/npm/man/man3/help-search.3 +++ b/deps/npm/man/man3/help-search.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-HELP\-SEARCH" "3" "February 2012" "" "" +.TH "NPM\-HELP\-SEARCH" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-help-search\fR \-\- Search the help pages diff --git a/deps/npm/man/man3/init.3 b/deps/npm/man/man3/init.3 index 60d7242120..3a4434c500 100644 --- a/deps/npm/man/man3/init.3 +++ b/deps/npm/man/man3/init.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "INIT" "3" "February 2012" "" "" +.TH "INIT" "3" "March 2012" "" "" . .SH "NAME" \fBinit\fR \-\- Interactively create a package\.json file diff --git a/deps/npm/man/man3/install.3 b/deps/npm/man/man3/install.3 index 432d1662ea..0c0ee97696 100644 --- a/deps/npm/man/man3/install.3 +++ b/deps/npm/man/man3/install.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-INSTALL" "3" "February 2012" "" "" +.TH "NPM\-INSTALL" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-install\fR \-\- install a package programmatically diff --git a/deps/npm/man/man3/link.3 b/deps/npm/man/man3/link.3 index 1007a70a19..45c15dc230 100644 --- a/deps/npm/man/man3/link.3 +++ b/deps/npm/man/man3/link.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-LINK" "3" "February 2012" "" "" +.TH "NPM\-LINK" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-link\fR \-\- Symlink a package folder diff --git a/deps/npm/man/man3/load.3 b/deps/npm/man/man3/load.3 index de5876dda1..9d9df2c3ab 100644 --- a/deps/npm/man/man3/load.3 +++ b/deps/npm/man/man3/load.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-LOAD" "3" "February 2012" "" "" +.TH "NPM\-LOAD" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-load\fR \-\- Load config settings diff --git a/deps/npm/man/man3/ls.3 b/deps/npm/man/man3/ls.3 index 6b597edb89..74736d453d 100644 --- a/deps/npm/man/man3/ls.3 +++ b/deps/npm/man/man3/ls.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-LS" "3" "February 2012" "" "" +.TH "NPM\-LS" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-ls\fR \-\- List installed packages diff --git a/deps/npm/man/man3/npm.3 b/deps/npm/man/man3/npm.3 index 01e63293f0..57d861c05a 100644 --- a/deps/npm/man/man3/npm.3 +++ b/deps/npm/man/man3/npm.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM" "3" "February 2012" "" "" +.TH "NPM" "3" "March 2012" "" "" . .SH "NAME" \fBnpm\fR \-\- node package manager @@ -21,7 +21,7 @@ npm\.load(configObject, function (er, npm) { .fi . .SH "VERSION" -1.1.2 +1.1.3 . .SH "DESCRIPTION" This is the API documentation for npm\. diff --git a/deps/npm/man/man3/outdated.3 b/deps/npm/man/man3/outdated.3 index 2c8640587a..258db10e78 100644 --- a/deps/npm/man/man3/outdated.3 +++ b/deps/npm/man/man3/outdated.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-OUTDATED" "3" "February 2012" "" "" +.TH "NPM\-OUTDATED" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-outdated\fR \-\- Check for outdated packages diff --git a/deps/npm/man/man3/owner.3 b/deps/npm/man/man3/owner.3 index 68f5b742ae..edb734eced 100644 --- a/deps/npm/man/man3/owner.3 +++ b/deps/npm/man/man3/owner.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-OWNER" "3" "February 2012" "" "" +.TH "NPM\-OWNER" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-owner\fR \-\- Manage package owners diff --git a/deps/npm/man/man3/pack.3 b/deps/npm/man/man3/pack.3 index 8c2c441868..e279d6171f 100644 --- a/deps/npm/man/man3/pack.3 +++ b/deps/npm/man/man3/pack.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-PACK" "3" "February 2012" "" "" +.TH "NPM\-PACK" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-pack\fR \-\- Create a tarball from a package diff --git a/deps/npm/man/man3/prefix.3 b/deps/npm/man/man3/prefix.3 index 3becffacb5..8a01d637ed 100644 --- a/deps/npm/man/man3/prefix.3 +++ b/deps/npm/man/man3/prefix.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-PREFIX" "3" "February 2012" "" "" +.TH "NPM\-PREFIX" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-prefix\fR \-\- Display prefix diff --git a/deps/npm/man/man3/prune.3 b/deps/npm/man/man3/prune.3 index 61f0a8027e..1aec7d7639 100644 --- a/deps/npm/man/man3/prune.3 +++ b/deps/npm/man/man3/prune.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-PRUNE" "3" "February 2012" "" "" +.TH "NPM\-PRUNE" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-prune\fR \-\- Remove extraneous packages diff --git a/deps/npm/man/man3/publish.3 b/deps/npm/man/man3/publish.3 index 06b16679b0..060c31ebc7 100644 --- a/deps/npm/man/man3/publish.3 +++ b/deps/npm/man/man3/publish.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-PUBLISH" "3" "February 2012" "" "" +.TH "NPM\-PUBLISH" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-publish\fR \-\- Publish a package diff --git a/deps/npm/man/man3/rebuild.3 b/deps/npm/man/man3/rebuild.3 index 87d6b67568..7cacbe9a6d 100644 --- a/deps/npm/man/man3/rebuild.3 +++ b/deps/npm/man/man3/rebuild.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-REBUILD" "3" "February 2012" "" "" +.TH "NPM\-REBUILD" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-rebuild\fR \-\- Rebuild a package diff --git a/deps/npm/man/man3/restart.3 b/deps/npm/man/man3/restart.3 index 33be8ae3d6..2032a7c950 100644 --- a/deps/npm/man/man3/restart.3 +++ b/deps/npm/man/man3/restart.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-RESTART" "3" "February 2012" "" "" +.TH "NPM\-RESTART" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-restart\fR \-\- Start a package diff --git a/deps/npm/man/man3/root.3 b/deps/npm/man/man3/root.3 index 840a8b6717..a1d629559d 100644 --- a/deps/npm/man/man3/root.3 +++ b/deps/npm/man/man3/root.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-ROOT" "3" "February 2012" "" "" +.TH "NPM\-ROOT" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-root\fR \-\- Display npm root diff --git a/deps/npm/man/man3/run-script.3 b/deps/npm/man/man3/run-script.3 index 39c4edd29c..597f7d9a18 100644 --- a/deps/npm/man/man3/run-script.3 +++ b/deps/npm/man/man3/run-script.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-RUN\-SCRIPT" "3" "February 2012" "" "" +.TH "NPM\-RUN\-SCRIPT" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-run-script\fR \-\- Run arbitrary package scripts diff --git a/deps/npm/man/man3/search.3 b/deps/npm/man/man3/search.3 index 48dbe69fc6..7626321ff2 100644 --- a/deps/npm/man/man3/search.3 +++ b/deps/npm/man/man3/search.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-SEARCH" "3" "February 2012" "" "" +.TH "NPM\-SEARCH" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-search\fR \-\- Search for packages diff --git a/deps/npm/man/man3/shrinkwrap.3 b/deps/npm/man/man3/shrinkwrap.3 index 34112f8d5a..10354ed310 100644 --- a/deps/npm/man/man3/shrinkwrap.3 +++ b/deps/npm/man/man3/shrinkwrap.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-SHRINKWRAP" "3" "February 2012" "" "" +.TH "NPM\-SHRINKWRAP" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-shrinkwrap\fR \-\- programmatically generate package shrinkwrap file diff --git a/deps/npm/man/man3/start.3 b/deps/npm/man/man3/start.3 index 13f9f91060..531dfa2c4d 100644 --- a/deps/npm/man/man3/start.3 +++ b/deps/npm/man/man3/start.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-START" "3" "February 2012" "" "" +.TH "NPM\-START" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-start\fR \-\- Start a package diff --git a/deps/npm/man/man3/stop.3 b/deps/npm/man/man3/stop.3 index e2a51badf3..e139ee9a77 100644 --- a/deps/npm/man/man3/stop.3 +++ b/deps/npm/man/man3/stop.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-STOP" "3" "February 2012" "" "" +.TH "NPM\-STOP" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-stop\fR \-\- Stop a package diff --git a/deps/npm/man/man3/submodule.3 b/deps/npm/man/man3/submodule.3 index 2ef5bd079e..d691b7c639 100644 --- a/deps/npm/man/man3/submodule.3 +++ b/deps/npm/man/man3/submodule.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-SUBMODULE" "3" "February 2012" "" "" +.TH "NPM\-SUBMODULE" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-submodule\fR \-\- Add a package as a git submodule diff --git a/deps/npm/man/man3/tag.3 b/deps/npm/man/man3/tag.3 index fc655e5d10..855c174e34 100644 --- a/deps/npm/man/man3/tag.3 +++ b/deps/npm/man/man3/tag.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-TAG" "3" "February 2012" "" "" +.TH "NPM\-TAG" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-tag\fR \-\- Tag a published version diff --git a/deps/npm/man/man3/test.3 b/deps/npm/man/man3/test.3 index d83cb6592e..07be782285 100644 --- a/deps/npm/man/man3/test.3 +++ b/deps/npm/man/man3/test.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-TEST" "3" "February 2012" "" "" +.TH "NPM\-TEST" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-test\fR \-\- Test a package diff --git a/deps/npm/man/man3/uninstall.3 b/deps/npm/man/man3/uninstall.3 index 393842e1f2..756ddad404 100644 --- a/deps/npm/man/man3/uninstall.3 +++ b/deps/npm/man/man3/uninstall.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-UNINSTALL" "3" "February 2012" "" "" +.TH "NPM\-UNINSTALL" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-uninstall\fR \-\- uninstall a package programmatically diff --git a/deps/npm/man/man3/unpublish.3 b/deps/npm/man/man3/unpublish.3 index 7edd2b0774..d3e3a75bf2 100644 --- a/deps/npm/man/man3/unpublish.3 +++ b/deps/npm/man/man3/unpublish.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-UNPUBLISH" "3" "February 2012" "" "" +.TH "NPM\-UNPUBLISH" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-unpublish\fR \-\- Remove a package from the registry diff --git a/deps/npm/man/man3/update.3 b/deps/npm/man/man3/update.3 index 68ec9d94b8..d8a096aba0 100644 --- a/deps/npm/man/man3/update.3 +++ b/deps/npm/man/man3/update.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-UPDATE" "3" "February 2012" "" "" +.TH "NPM\-UPDATE" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-update\fR \-\- Update a package diff --git a/deps/npm/man/man3/version.3 b/deps/npm/man/man3/version.3 index 2d0a513551..20ee415074 100644 --- a/deps/npm/man/man3/version.3 +++ b/deps/npm/man/man3/version.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-VERSION" "3" "February 2012" "" "" +.TH "NPM\-VERSION" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-version\fR \-\- Bump a package version diff --git a/deps/npm/man/man3/view.3 b/deps/npm/man/man3/view.3 index b3f81904ee..f9c253b231 100644 --- a/deps/npm/man/man3/view.3 +++ b/deps/npm/man/man3/view.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-VIEW" "3" "February 2012" "" "" +.TH "NPM\-VIEW" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-view\fR \-\- View registry info diff --git a/deps/npm/man/man3/whoami.3 b/deps/npm/man/man3/whoami.3 index 12544996ae..fd2ee1c7fb 100644 --- a/deps/npm/man/man3/whoami.3 +++ b/deps/npm/man/man3/whoami.3 @@ -1,7 +1,7 @@ .\" Generated with Ronnjs/v0.1 .\" http://github.com/kapouer/ronnjs/ . -.TH "NPM\-WHOAMI" "3" "February 2012" "" "" +.TH "NPM\-WHOAMI" "3" "March 2012" "" "" . .SH "NAME" \fBnpm-whoami\fR \-\- Display npm username diff --git a/deps/npm/node_modules/request/forever.js b/deps/npm/node_modules/request/forever.js index e6531a21b3..ac853c0d28 100644 --- a/deps/npm/node_modules/request/forever.js +++ b/deps/npm/node_modules/request/forever.js @@ -1,8 +1,11 @@ module.exports = ForeverAgent +ForeverAgent.SSL = ForeverAgentSSL var util = require('util') , Agent = require('http').Agent , net = require('net') + , tls = require('tls') + , AgentSSL = require('https').Agent function ForeverAgent(options) { var self = this @@ -34,12 +37,14 @@ function ForeverAgent(options) { socket.destroy(); } }) - self.createConnection = net.createConnection + } util.inherits(ForeverAgent, Agent) ForeverAgent.defaultMinSockets = 5 + +ForeverAgent.prototype.createConnection = net.createConnection ForeverAgent.prototype.addRequestNoreuse = Agent.prototype.addRequest ForeverAgent.prototype.addRequest = function(req, host, port) { var name = host + ':' + port @@ -82,3 +87,17 @@ ForeverAgent.prototype.removeSocket = function(s, name, host, port) { this.createSocket(name, host, port).emit('free'); } } + +function ForeverAgentSSL (options) { + ForeverAgent.call(this, options) +} +util.inherits(ForeverAgentSSL, ForeverAgent) + +ForeverAgentSSL.prototype.createConnection = createConnectionSSL +ForeverAgentSSL.prototype.addRequestNoreuse = AgentSSL.prototype.addRequest + +function createConnectionSSL (port, host, options) { + options.port = port + options.host = host + return tls.connect(options) +} diff --git a/deps/npm/node_modules/request/main.js b/deps/npm/node_modules/request/main.js index 5c14264163..f651202740 100644 --- a/deps/npm/node_modules/request/main.js +++ b/deps/npm/node_modules/request/main.js @@ -26,6 +26,7 @@ var http = require('http') , Cookie = require('./vendor/cookie') , CookieJar = require('./vendor/cookie/jar') , cookieJar = new CookieJar + , tunnel = require('./tunnel') ; if (process.logging) { @@ -133,6 +134,20 @@ Request.prototype.init = function (options) { } if (self.proxy) { if (typeof self.proxy == 'string') self.proxy = url.parse(self.proxy) + + // do the HTTP CONNECT dance using koichik/node-tunnel + if (http.globalAgent && self.uri.protocol === "https:") { + self.tunnel = true + var tunnelFn = self.proxy.protocol === "http:" + ? tunnel.httpsOverHttp : tunnel.httpsOverHttps + + var tunnelOptions = { proxy: { host: self.proxy.hostname + , port: +self.proxy.port } + , ca: this.ca } + + self.agent = tunnelFn(tunnelOptions) + self.tunnel = true + } } self._redirectsFollowed = self._redirectsFollowed || 0 @@ -163,7 +178,7 @@ Request.prototype.init = function (options) { else if (self.uri.protocol == 'https:') {self.uri.port = 443} } - if (self.proxy) { + if (self.proxy && !self.tunnel) { self.port = self.proxy.port self.host = self.proxy.hostname } else { @@ -177,9 +192,12 @@ Request.prototype.init = function (options) { } self.clientErrorHandler = function (error) { + if (self._aborted) return + if (self.setHost) delete self.headers.host - if (self.req._reusedSocket && error.code === 'ECONNRESET') { - self.agent = {addRequest: ForeverAgent.prototype.addRequestNoreuse.bind(self.agent)} + if (self.req._reusedSocket && error.code === 'ECONNRESET' + && self.agent.addRequestNoreuse) { + self.agent = { addRequest: self.agent.addRequestNoreuse.bind(self.agent) } self.start() self.req.end() return @@ -204,7 +222,7 @@ Request.prototype.init = function (options) { if (self.uri.auth && !self.headers.authorization) { self.headers.authorization = "Basic " + toBase64(self.uri.auth.split(':').map(function(item){ return qs.unescape(item)}).join(':')) } - if (self.proxy && self.proxy.auth && !self.headers['proxy-authorization']) { + if (self.proxy && self.proxy.auth && !self.headers['proxy-authorization'] && !self.tunnel) { self.headers['proxy-authorization'] = "Basic " + toBase64(self.proxy.auth.split(':').map(function(item){ return qs.unescape(item)}).join(':')) } @@ -218,7 +236,7 @@ Request.prototype.init = function (options) { if (self.path.length === 0) self.path = '/' - if (self.proxy) self.path = (self.uri.protocol + '//' + self.uri.host + self.path) + if (self.proxy && !self.tunnel) self.path = (self.uri.protocol + '//' + self.uri.host + self.path) if (options.json) { self.json(options.json) @@ -247,7 +265,7 @@ Request.prototype.init = function (options) { } } - var protocol = self.proxy ? self.proxy.protocol : self.uri.protocol + var protocol = self.proxy && !self.tunnel ? self.proxy.protocol : self.uri.protocol , defaultModules = {'http:':http, 'https:':https} , httpModules = self.httpModules || {} ; @@ -255,17 +273,30 @@ Request.prototype.init = function (options) { if (!self.httpModule) throw new Error("Invalid protocol") + if (options.ca) self.ca = options.ca + + if (!self.agent) { + if (options.agentOptions) self.agentOptions = options.agentOptions + + if (options.agentClass) { + self.agentClass = options.agentClass + } else if (options.forever) { + self.agentClass = protocol === 'http:' ? ForeverAgent : ForeverAgent.SSL + } else { + self.agentClass = self.httpModule.Agent + } + } + if (self.pool === false) { self.agent = false } else { + self.agent = self.agent || self.getAgent() if (self.maxSockets) { // Don't use our pooling if node has the refactored client - self.agent = self.agent || self.httpModule.globalAgent || self.getAgent(self.host, self.port) self.agent.maxSockets = self.maxSockets } if (self.pool.maxSockets) { // Don't use our pooling if node has the refactored client - self.agent = self.agent || self.httpModule.globalAgent || self.getAgent(self.host, self.port) self.agent.maxSockets = self.pool.maxSockets } } @@ -295,6 +326,8 @@ Request.prototype.init = function (options) { }) process.nextTick(function () { + if (self._aborted) return + if (self.body) { if (Array.isArray(self.body)) { self.body.forEach(function(part) { @@ -314,19 +347,61 @@ Request.prototype.init = function (options) { self.ntick = true }) } -Request.prototype.getAgent = function (host, port) { - if (!this.pool[host+':'+port]) { - this.pool[host+':'+port] = new this.httpModule.Agent({host:host, port:port}) + +Request.prototype.getAgent = function () { + var Agent = this.agentClass + var options = {} + if (this.agentOptions) { + for (var i in this.agentOptions) { + options[i] = this.agentOptions[i] + } + } + if (this.ca) options.ca = this.ca + + var poolKey = '' + + // different types of agents are in different pools + if (Agent !== this.httpModule.Agent) { + poolKey += Agent.name + } + + if (!this.httpModule.globalAgent) { + // node 0.4.x + options.host = this.host + options.port = this.port + if (poolKey) poolKey += ':' + poolKey += this.host + ':' + this.port } - return this.pool[host+':'+port] + + if (options.ca) { + if (poolKey) poolKey += ':' + poolKey += options.ca + } + + if (!poolKey && Agent === this.httpModule.Agent && this.httpModule.globalAgent) { + // not doing anything special. Use the globalAgent + return this.httpModule.globalAgent + } + + // already generated an agent for this setting + if (this.pool[poolKey]) return this.pool[poolKey] + + return this.pool[poolKey] = new Agent(options) } + Request.prototype.start = function () { var self = this + + if (self._aborted) return + self._started = true self.method = self.method || 'GET' self.href = self.uri.href if (log) log('%method %href', self) self.req = self.httpModule.request(self, function (response) { + if (self._aborted) return + if (self._paused) response.pause() + self.response = response response.request = self @@ -353,7 +428,7 @@ Request.prototype.start = function () { if (response.statusCode >= 300 && response.statusCode < 400 && (self.followAllRedirects || - (self.followRedirect && (self.method !== 'PUT' && self.method !== 'POST'))) && + (self.followRedirect && (self.method !== 'PUT' && self.method !== 'POST' && self.method !== 'DELETE'))) && response.headers.location) { if (self._redirectsFollowed >= self.maxRedirects) { self.emit('error', new Error("Exceeded maxRedirects. Probably stuck in a redirect loop.")) @@ -423,6 +498,8 @@ Request.prototype.start = function () { bodyLen += chunk.length }) self.on("end", function () { + if (self._aborted) return + if (buffer.length && Buffer.isBuffer(buffer[0])) { var body = new Buffer(bodyLen) var i = 0 @@ -439,7 +516,7 @@ Request.prototype.start = function () { response.body = buffer.join('') } - if (self.json) { + if (self._json) { try { response.body = JSON.parse(response.body) } catch (e) {} @@ -461,20 +538,36 @@ Request.prototype.start = function () { // Set additional timeout on socket - in case if remote // server freeze after sending headers - self.req.setTimeout(self.timeout, function(){ - if (self.req) { - self.req.abort() - var e = new Error("ESOCKETTIMEDOUT") - e.code = "ESOCKETTIMEDOUT" - self.emit("error", e) - } - }); + if (self.req.setTimeout) { // only works on node 0.6+ + self.req.setTimeout(self.timeout, function(){ + if (self.req) { + self.req.abort() + var e = new Error("ESOCKETTIMEDOUT") + e.code = "ESOCKETTIMEDOUT" + self.emit("error", e) + } + }) + } } self.req.on('error', self.clientErrorHandler) self.emit('request', self.req) } + +Request.prototype.abort = function() { + this._aborted = true; + + if (this.req) { + this.req.abort() + } + else if (this.response) { + this.response.abort() + } + + this.emit("abort") +} + Request.prototype.pipeDest = function (dest) { var response = this.response // Called after the response is received @@ -554,6 +647,7 @@ Request.prototype.multipart = function (multipart) { Request.prototype.json = function (val) { this.setHeader('content-type', 'application/json') this.setHeader('accept', 'application/json') + this._json = true if (typeof val === 'boolean') { if (typeof this.body === 'object') this.body = JSON.stringify(this.body) } else { @@ -659,22 +753,20 @@ Request.prototype.pipe = function (dest, opts) { } Request.prototype.write = function () { if (!this._started) this.start() - if (!this.req) throw new Error("This request has been piped before http.request() was called.") this.req.write.apply(this.req, arguments) } Request.prototype.end = function (chunk) { if (chunk) this.write(chunk) if (!this._started) this.start() - if (!this.req) throw new Error("This request has been piped before http.request() was called.") this.req.end() } Request.prototype.pause = function () { - if (!this.response) throw new Error("This request has been piped before http.request() was called.") - this.response.pause.apply(this.response, arguments) + if (!this.response) this._paused = true + else this.response.pause.apply(this.response, arguments) } Request.prototype.resume = function () { - if (!this.response) throw new Error("This request has been piped before http.request() was called.") - this.response.resume.apply(this.response, arguments) + if (!this.response) this._paused = false + else this.response.resume.apply(this.response, arguments) } Request.prototype.destroy = function () { if (!this._ended) this.end() @@ -735,12 +827,13 @@ request.defaults = function (options) { request.forever = function (agentOptions, optionsArg) { var options = {} - if (agentOptions) { + if (optionsArg) { for (option in optionsArg) { options[option] = optionsArg[option] } } - options.agent = new ForeverAgent(agentOptions) + if (agentOptions) options.agentOptions = agentOptions + options.forever = true return request.defaults(options) } @@ -758,7 +851,10 @@ request.put = function (uri, options, callback) { request.head = function (uri, options, callback) { var params = initParams(uri, options, callback); params.options.method = 'HEAD' - if (options.body || options.requestBodyStream || options.json || options.multipart) { + if (params.options.body || + params.options.requestBodyStream || + (params.options.json && typeof params.options.json !== 'boolean') || + params.options.multipart) { throw new Error("HTTP HEAD requests MUST NOT include a request body.") } return request(params.uri, params.options, params.callback) diff --git a/deps/npm/node_modules/request/package.json b/deps/npm/node_modules/request/package.json index 305cf167b1..4a62c5a469 100644 --- a/deps/npm/node_modules/request/package.json +++ b/deps/npm/node_modules/request/package.json @@ -1,15 +1,45 @@ -{ "name" : "request" -, "description" : "Simplified HTTP request client." -, "tags" : ["http", "simple", "util", "utility"] -, "version" : "2.9.151" -, "author" : "Mikeal Rogers <mikeal.rogers@gmail.com>" -, "repository" : - { "type" : "git" - , "url" : "http://github.com/mikeal/request.git" - } -, "bugs" : - { "url" : "http://github.com/mikeal/request/issues" } -, "engines" : ["node >= 0.3.6"] -, "main" : "./main" -, "scripts": { "test": "node tests/run.js" } +{ + "name": "request", + "description": "Simplified HTTP request client.", + "tags": [ + "http", + "simple", + "util", + "utility" + ], + "version": "2.9.153", + "author": { + "name": "Mikeal Rogers", + "email": "mikeal.rogers@gmail.com" + }, + "repository": { + "type": "git", + "url": "git://github.com/mikeal/request.git" + }, + "bugs": { + "url": "http://github.com/mikeal/request/issues" + }, + "engines": [ + "node >= 0.3.6" + ], + "main": "./main", + "scripts": { + "test": "node tests/run.js" + }, + "_npmUser": { + "name": "isaacs", + "email": "i@izs.me" + }, + "_id": "request@2.9.153", + "dependencies": {}, + "devDependencies": {}, + "optionalDependencies": {}, + "_engineSupported": true, + "_npmVersion": "1.1.2", + "_nodeVersion": "v0.7.6-pre", + "_defaultsLoaded": true, + "dist": { + "shasum": "d1f4855a90a9e69bf6cd2a68503e253cc4a27a71" + }, + "_from": "request@~2.9" } diff --git a/deps/npm/node_modules/request/tunnel.js b/deps/npm/node_modules/request/tunnel.js new file mode 100644 index 0000000000..453786c5e7 --- /dev/null +++ b/deps/npm/node_modules/request/tunnel.js @@ -0,0 +1,229 @@ +'use strict'; + +var net = require('net'); +var tls = require('tls'); +var http = require('http'); +var https = require('https'); +var events = require('events'); +var assert = require('assert'); +var util = require('util'); + + +exports.httpOverHttp = httpOverHttp; +exports.httpsOverHttp = httpsOverHttp; +exports.httpOverHttps = httpOverHttps; +exports.httpsOverHttps = httpsOverHttps; + + +function httpOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + return agent; +} + +function httpsOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + agent.createSocket = createSecureSocket; + return agent; +} + +function httpOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + return agent; +} + +function httpsOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + agent.createSocket = createSecureSocket; + return agent; +} + + +function TunnelingAgent(options) { + var self = this; + self.options = options || {}; + self.proxyOptions = self.options.proxy || {}; + self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets; + self.requests = []; + self.sockets = []; + + self.on('free', function onFree(socket, host, port) { + for (var i = 0, len = self.requests.length; i < len; ++i) { + var pending = self.requests[i]; + if (pending.host === host && pending.port === port) { + // Detect the request to connect same origin server, + // reuse the connection. + self.requests.splice(i, 1); + pending.request.onSocket(socket); + return; + } + } + socket.destroy(); + self.removeSocket(socket); + }); +} +util.inherits(TunnelingAgent, events.EventEmitter); + +TunnelingAgent.prototype.addRequest = function addRequest(req, host, port) { + var self = this; + + if (self.sockets.length >= this.maxSockets) { + // We are over limit so we'll add it to the queue. + self.requests.push({host: host, port: port, request: req}); + return; + } + + // If we are under maxSockets create a new one. + self.createSocket({host: host, port: port, request: req}, function(socket) { + socket.on('free', onFree); + socket.on('close', onCloseOrRemove); + socket.on('agentRemove', onCloseOrRemove); + req.onSocket(socket); + + function onFree() { + self.emit('free', socket, host, port); + } + + function onCloseOrRemove(err) { + self.removeSocket(); + socket.removeListener('free', onFree); + socket.removeListener('close', onCloseOrRemove); + socket.removeListener('agentRemove', onCloseOrRemove); + } + }); +}; + +TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { + var self = this; + var placeholder = {}; + self.sockets.push(placeholder); + + var connectOptions = mergeOptions({}, self.proxyOptions, { + method: 'CONNECT', + path: options.host + ':' + options.port, + agent: false + }); + if (connectOptions.proxyAuth) { + connectOptions.headers = connectOptions.headers || {}; + connectOptions.headers['Proxy-Authorization'] = 'Basic ' + + new Buffer(connectOptions.proxyAuth).toString('base64'); + } + + debug('making CONNECT request'); + var connectReq = self.request(connectOptions); + connectReq.useChunkedEncodingByDefault = false; // for v0.6 + connectReq.once('response', onResponse); // for v0.6 + connectReq.once('upgrade', onUpgrade); // for v0.6 + connectReq.once('connect', onConnect); // for v0.7 or later + connectReq.once('error', onError); + connectReq.end(); + + function onResponse(res) { + // Very hacky. This is necessary to avoid http-parser leaks. + res.upgrade = true; + } + + function onUpgrade(res, socket, head) { + // Hacky. + process.nextTick(function() { + onConnect(res, socket, head); + }); + } + + function onConnect(res, socket, head) { + connectReq.removeAllListeners(); + socket.removeAllListeners(); + + if (res.statusCode === 200) { + assert.equal(head.length, 0); + debug('tunneling connection has established'); + self.sockets[self.sockets.indexOf(placeholder)] = socket; + cb(socket); + } else { + debug('tunneling socket could not be established, statusCode=%d', + res.statusCode); + var error = new Error('tunneling socket could not be established, ' + + 'sutatusCode=' + res.statusCode); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + } + } + + function onError(cause) { + connectReq.removeAllListeners(); + + debug('tunneling socket could not be established, cause=%s\n', + cause.message, cause.stack); + var error = new Error('tunneling socket could not be established, ' + + 'cause=' + cause.message); + error.code = 'ECONNRESET'; + options.request.emit('error', error); + self.removeSocket(placeholder); + } +}; + +TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { + var pos = this.sockets.indexOf(socket) + if (pos === -1) { + return; + } + this.sockets.splice(pos, 1); + + var pending = this.requests.shift(); + if (pending) { + // If we have pending requests and a socket gets closed a new one + // needs to be created to take over in the pool for the one that closed. + this.createSocket(pending, function(socket) { + pending.request.onSocket(socket); + }); + } +}; + +function createSecureSocket(options, cb) { + var self = this; + TunnelingAgent.prototype.createSocket.call(self, options, function(socket) { + // 0 is dummy port for v0.6 + var secureSocket = tls.connect(0, mergeOptions({}, self.options, { + socket: socket + })); + cb(secureSocket); + }); +} + + +function mergeOptions(target) { + for (var i = 1, len = arguments.length; i < len; ++i) { + var overrides = arguments[i]; + if (typeof overrides === 'object') { + var keys = Object.keys(overrides); + for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { + var k = keys[j]; + if (overrides[k] !== undefined) { + target[k] = overrides[k]; + } + } + } + } + return target; +} + + +var debug; +if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { + debug = function() { + var args = Array.prototype.slice.call(arguments); + if (typeof args[0] === 'string') { + args[0] = 'TUNNEL: ' + args[0]; + } else { + args.unshift('TUNNEL:'); + } + console.error.apply(console, args); + } +} else { + debug = function() {}; +} +exports.debug = debug; // for test diff --git a/deps/npm/node_modules/which/package.json b/deps/npm/node_modules/which/package.json index ea26853b88..c45dafee92 100644 --- a/deps/npm/node_modules/which/package.json +++ b/deps/npm/node_modules/which/package.json @@ -1,17 +1,34 @@ { - "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": "which", "description": "Like which(1) unix command. Find the first instance of an executable in the PATH.", - "version": "1.0.3", + "version": "1.0.5", "repository": { "type": "git", "url": "git://github.com/isaacs/node-which.git" }, "main": "which.js", - "bin": "./bin/which", + "bin": { + "which": "./bin/which" + }, "engines": { "node": "*" }, "dependencies": {}, - "devDependencies": {} + "devDependencies": {}, + "_npmUser": { + "name": "isaacs", + "email": "i@izs.me" + }, + "_id": "which@1.0.5", + "optionalDependencies": {}, + "_engineSupported": true, + "_npmVersion": "1.1.2", + "_nodeVersion": "v0.7.6-pre", + "_defaultsLoaded": true, + "_from": "which@1" } diff --git a/deps/npm/node_modules/which/which.js b/deps/npm/node_modules/which/which.js index 634e3af6e9..db7e8f74dc 100644 --- a/deps/npm/node_modules/which/which.js +++ b/deps/npm/node_modules/which/which.js @@ -27,13 +27,16 @@ if (process.platform == "win32") { } } + + function which (cmd, cb) { - if (cmd.charAt(0) === "/") return cb(null, cmd) + if (isAbsolute(cmd)) return cb(null, cmd) var pathEnv = (process.env.PATH || "").split(COLON) , pathExt = [""] if (process.platform === "win32") { pathEnv.push(process.cwd()) pathExt = (process.env.PATHEXT || ".EXE").split(COLON) + if (cmd.indexOf(".") !== -1) pathExt.unshift("") } //console.error("pathEnv", pathEnv) ;(function F (i, l) { @@ -57,14 +60,14 @@ function which (cmd, cb) { })(0, pathEnv.length) } - function whichSync (cmd) { - if (cmd.charAt(0) === "/") return cmd + if (isAbsolute(cmd)) return cmd var pathEnv = (process.env.PATH || "").split(COLON) , pathExt = [""] if (process.platform === "win32") { pathEnv.push(process.cwd()) pathExt = (process.env.PATHEXT || ".EXE").split(COLON) + if (cmd.indexOf(".") !== -1) pathExt.unshift("") } for (var i = 0, l = pathEnv.length; i < l; i ++) { var p = path.join(pathEnv[i], cmd) @@ -79,3 +82,23 @@ function whichSync (cmd) { } throw new Error("not found: "+cmd) } + +var isAbsolute = process.platform === "win32" ? absWin : absUnix + +function absWin (p) { + if (absUnix(p)) return true + // pull off the device/UNC bit from a windows path. + // from node's lib/path.js + var splitDeviceRe = + /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?([\\\/])?/ + , result = splitDeviceRe.exec(p) + , device = result[1] || '' + , isUnc = device && device.charAt(1) !== ':' + , isAbsolute = !!result[2] || isUnc // UNC paths are always absolute + + return isAbsolute +} + +function absUnix (p) { + return p.charAt(0) === "/" || p === "" +} diff --git a/deps/npm/package.json b/deps/npm/package.json index 25d30fbe0a..7d5fe973bf 100644 --- a/deps/npm/package.json +++ b/deps/npm/package.json @@ -10,7 +10,7 @@ "install", "package.json" ], - "version": "1.1.2", + "version": "1.1.3", "preferGlobal": true, "config": { "publishtest": false diff --git a/deps/npm/test/packages/npm-test-shrinkwrap/npm-shrinkwrap.json b/deps/npm/test/packages/npm-test-shrinkwrap/npm-shrinkwrap.json new file mode 100644 index 0000000000..c4f7fbf815 --- /dev/null +++ b/deps/npm/test/packages/npm-test-shrinkwrap/npm-shrinkwrap.json @@ -0,0 +1,43 @@ +{ + "name": "npm-test-shrinkwrap", + "version": "0.0.0", + "dependencies": { + "npm-test-single-file": { + "version": "1.2.3", + "from": "https://raw.github.com/gist/1837112/index.js" + }, + "glob": { + "version": "3.1.4", + "from": "git://github.com/isaacs/node-glob.git", + "dependencies": { + "minimatch": { + "version": "0.2.0", + "dependencies": { + "lru-cache": { + "version": "1.0.5" + } + } + }, + "graceful-fs": { + "version": "1.1.5", + "dependencies": { + "fast-list": { + "version": "1.0.2" + } + } + }, + "inherits": { + "version": "1.0.0" + } + } + }, + "minimatch": { + "version": "0.1.5", + "dependencies": { + "lru-cache": { + "version": "1.0.5" + } + } + } + } +} diff --git a/deps/npm/test/packages/npm-test-shrinkwrap/package.json b/deps/npm/test/packages/npm-test-shrinkwrap/package.json new file mode 100644 index 0000000000..34a8abc21c --- /dev/null +++ b/deps/npm/test/packages/npm-test-shrinkwrap/package.json @@ -0,0 +1,13 @@ +{ + "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)", + "name": "npm-test-shrinkwrap", + "version": "0.0.0", + "dependencies": { + "npm-test-single-file": "https://raw.github.com/gist/1837112/index.js", + "glob": "git://github.com/isaacs/node-glob.git", + "minimatch": "~0.1.0" + }, + "scripts": { + "test": "bash test.sh" + } +} diff --git a/deps/npm/test/packages/npm-test-shrinkwrap/test.sh b/deps/npm/test/packages/npm-test-shrinkwrap/test.sh new file mode 100644 index 0000000000..f756f5b427 --- /dev/null +++ b/deps/npm/test/packages/npm-test-shrinkwrap/test.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# ensure that we get the npm being tested, not some global thing. +npmbin=$npm_config_prefix/bin/npm +npm () { + node $npmbin "$@" +} + +# work around the weird env we're in, as part of npm's test +export npm_config_prefix=$PWD +unset npm_config_global +unset npm_config_depth + +out=$(diff <(npm ls --json) npm-shrinkwrap.json) +if [ "$out" != "" ]; then + echo "Didn't get expected packages" >&2 + echo "$out" >&2 + exit 1 +fi +echo "ok" |