summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorisaacs <i@izs.me>2013-06-18 09:42:42 -0700
committerisaacs <i@izs.me>2013-06-18 09:42:42 -0700
commit9195455637be7ac68274c4e9a83003470efdb0c0 (patch)
tree7e31c781fd40c5b43e504fad2c628081b2678ed6
parent18574bfaf1c408fd87b69fa4d041a9f3050d6754 (diff)
downloadnode-new-9195455637be7ac68274c4e9a83003470efdb0c0.tar.gz
npm: Upgrade to 1.2.32
-rw-r--r--deps/npm/Makefile7
-rw-r--r--deps/npm/doc/cli/faq.md149
-rw-r--r--deps/npm/html/api/bin.html2
-rw-r--r--deps/npm/html/api/bugs.html2
-rw-r--r--deps/npm/html/api/commands.html2
-rw-r--r--deps/npm/html/api/config.html2
-rw-r--r--deps/npm/html/api/deprecate.html2
-rw-r--r--deps/npm/html/api/docs.html2
-rw-r--r--deps/npm/html/api/edit.html2
-rw-r--r--deps/npm/html/api/explore.html2
-rw-r--r--deps/npm/html/api/help-search.html2
-rw-r--r--deps/npm/html/api/init.html2
-rw-r--r--deps/npm/html/api/install.html2
-rw-r--r--deps/npm/html/api/link.html2
-rw-r--r--deps/npm/html/api/load.html2
-rw-r--r--deps/npm/html/api/ls.html2
-rw-r--r--deps/npm/html/api/npm.html4
-rw-r--r--deps/npm/html/api/outdated.html2
-rw-r--r--deps/npm/html/api/owner.html2
-rw-r--r--deps/npm/html/api/pack.html2
-rw-r--r--deps/npm/html/api/prefix.html2
-rw-r--r--deps/npm/html/api/prune.html2
-rw-r--r--deps/npm/html/api/publish.html2
-rw-r--r--deps/npm/html/api/rebuild.html2
-rw-r--r--deps/npm/html/api/restart.html2
-rw-r--r--deps/npm/html/api/root.html2
-rw-r--r--deps/npm/html/api/run-script.html2
-rw-r--r--deps/npm/html/api/search.html2
-rw-r--r--deps/npm/html/api/shrinkwrap.html2
-rw-r--r--deps/npm/html/api/start.html2
-rw-r--r--deps/npm/html/api/stop.html2
-rw-r--r--deps/npm/html/api/submodule.html2
-rw-r--r--deps/npm/html/api/tag.html2
-rw-r--r--deps/npm/html/api/test.html2
-rw-r--r--deps/npm/html/api/uninstall.html2
-rw-r--r--deps/npm/html/api/unpublish.html2
-rw-r--r--deps/npm/html/api/update.html2
-rw-r--r--deps/npm/html/api/version.html2
-rw-r--r--deps/npm/html/api/view.html2
-rw-r--r--deps/npm/html/api/whoami.html2
-rw-r--r--deps/npm/html/doc/README.html2
-rw-r--r--deps/npm/html/doc/adduser.html2
-rw-r--r--deps/npm/html/doc/bin.html2
-rw-r--r--deps/npm/html/doc/bugs.html2
-rw-r--r--deps/npm/html/doc/build.html2
-rw-r--r--deps/npm/html/doc/bundle.html2
-rw-r--r--deps/npm/html/doc/cache.html2
-rw-r--r--deps/npm/html/doc/changelog.html2
-rw-r--r--deps/npm/html/doc/coding-style.html2
-rw-r--r--deps/npm/html/doc/completion.html2
-rw-r--r--deps/npm/html/doc/config.html2
-rw-r--r--deps/npm/html/doc/dedupe.html2
-rw-r--r--deps/npm/html/doc/deprecate.html2
-rw-r--r--deps/npm/html/doc/developers.html2
-rw-r--r--deps/npm/html/doc/disputes.html2
-rw-r--r--deps/npm/html/doc/docs.html2
-rw-r--r--deps/npm/html/doc/edit.html2
-rw-r--r--deps/npm/html/doc/explore.html2
-rw-r--r--deps/npm/html/doc/faq.html150
-rw-r--r--deps/npm/html/doc/folders.html2
-rw-r--r--deps/npm/html/doc/global.html2
-rw-r--r--deps/npm/html/doc/help-search.html2
-rw-r--r--deps/npm/html/doc/help.html2
-rw-r--r--deps/npm/html/doc/index.html2
-rw-r--r--deps/npm/html/doc/init.html2
-rw-r--r--deps/npm/html/doc/install.html2
-rw-r--r--deps/npm/html/doc/json.html2
-rw-r--r--deps/npm/html/doc/link.html2
-rw-r--r--deps/npm/html/doc/ls.html4
-rw-r--r--deps/npm/html/doc/npm.html4
-rw-r--r--deps/npm/html/doc/outdated.html2
-rw-r--r--deps/npm/html/doc/owner.html2
-rw-r--r--deps/npm/html/doc/pack.html2
-rw-r--r--deps/npm/html/doc/prefix.html2
-rw-r--r--deps/npm/html/doc/prune.html2
-rw-r--r--deps/npm/html/doc/publish.html2
-rw-r--r--deps/npm/html/doc/rebuild.html2
-rw-r--r--deps/npm/html/doc/registry.html2
-rw-r--r--deps/npm/html/doc/removing-npm.html2
-rw-r--r--deps/npm/html/doc/restart.html2
-rw-r--r--deps/npm/html/doc/rm.html2
-rw-r--r--deps/npm/html/doc/root.html2
-rw-r--r--deps/npm/html/doc/run-script.html2
-rw-r--r--deps/npm/html/doc/scripts.html2
-rw-r--r--deps/npm/html/doc/search.html2
-rw-r--r--deps/npm/html/doc/semver.html2
-rw-r--r--deps/npm/html/doc/shrinkwrap.html2
-rw-r--r--deps/npm/html/doc/star.html2
-rw-r--r--deps/npm/html/doc/stars.html2
-rw-r--r--deps/npm/html/doc/start.html2
-rw-r--r--deps/npm/html/doc/stop.html2
-rw-r--r--deps/npm/html/doc/submodule.html2
-rw-r--r--deps/npm/html/doc/tag.html2
-rw-r--r--deps/npm/html/doc/test.html2
-rw-r--r--deps/npm/html/doc/uninstall.html2
-rw-r--r--deps/npm/html/doc/unpublish.html2
-rw-r--r--deps/npm/html/doc/update.html2
-rw-r--r--deps/npm/html/doc/version.html2
-rw-r--r--deps/npm/html/doc/view.html2
-rw-r--r--deps/npm/html/doc/whoami.html2
-rw-r--r--deps/npm/lib/npm.js1
-rw-r--r--deps/npm/lib/outdated.js2
-rw-r--r--deps/npm/lib/update.js6
-rw-r--r--deps/npm/lib/visnup.js42
-rw-r--r--deps/npm/man/man1/faq.1174
-rw-r--r--deps/npm/man/man1/ls.12
-rw-r--r--deps/npm/man/man1/npm.12
-rw-r--r--deps/npm/man/man3/npm.32
-rw-r--r--deps/npm/node_modules/init-package-json/init-package-json.js10
-rw-r--r--deps/npm/node_modules/init-package-json/package.json4
-rw-r--r--deps/npm/node_modules/normalize-package-data/.npmignore1
-rw-r--r--deps/npm/node_modules/normalize-package-data/.travis.yml4
-rw-r--r--deps/npm/node_modules/normalize-package-data/AUTHORS3
-rw-r--r--deps/npm/node_modules/normalize-package-data/LICENSE30
-rw-r--r--deps/npm/node_modules/normalize-package-data/README.md81
-rw-r--r--deps/npm/node_modules/normalize-package-data/lib/extract_description.js13
-rw-r--r--deps/npm/node_modules/normalize-package-data/lib/fixer.js253
-rw-r--r--deps/npm/node_modules/normalize-package-data/lib/is_valid.js58
-rw-r--r--deps/npm/node_modules/normalize-package-data/lib/normalize.js36
-rw-r--r--deps/npm/node_modules/normalize-package-data/lib/typos.json23
-rw-r--r--deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/.npmignore1
-rw-r--r--deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/History.md10
-rw-r--r--deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/Makefile5
-rw-r--r--deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/Readme.md41
-rw-r--r--deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/index.js12
-rw-r--r--deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/package.json27
-rw-r--r--deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/test.js40
-rw-r--r--deps/npm/node_modules/normalize-package-data/package.json47
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/basic.js34
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/consistency.js36
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/async.json36
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/bcrypt.json56
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/coffee-script.json35
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/http-server.json53
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/movefile.json21
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/node-module_exist.json26
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/npm.json135
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/read-package-json.json27
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/request.json39
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/fixtures/underscore.json17
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/github-urls.js46
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/normalize.js129
-rw-r--r--deps/npm/node_modules/normalize-package-data/test/typo.js67
-rw-r--r--deps/npm/node_modules/npm-user-validate/.travis.yml4
-rw-r--r--deps/npm/node_modules/npm-user-validate/README.md5
-rw-r--r--deps/npm/node_modules/npm-user-validate/npm-user-validate.js26
-rw-r--r--deps/npm/node_modules/npm-user-validate/package.json24
-rw-r--r--deps/npm/package.json10
148 files changed, 1962 insertions, 300 deletions
diff --git a/deps/npm/Makefile b/deps/npm/Makefile
index 82fa8b65e8..61251fbb28 100644
--- a/deps/npm/Makefile
+++ b/deps/npm/Makefile
@@ -102,9 +102,10 @@ test:
node cli.js test
publish: link doc
- @git push origin :v$(shell npm -v) || true
- @npm unpublish npm@$(shell npm -v) || true
- git clean -fd
+ @git push origin :v$(shell npm -v) 2>&1 || true
+ @npm unpublish npm@$(shell npm -v) 2>&1 || true
+ git clean -fd &&\
+ git push origin &&\
git push origin --tags &&\
npm publish &&\
npm tag npm@$(shell npm -v) $(shell npm -v | awk -F. '{print $$1 "." $$2}') &&\
diff --git a/deps/npm/doc/cli/faq.md b/deps/npm/doc/cli/faq.md
index 05b2cd98ec..e00fec61d8 100644
--- a/deps/npm/doc/cli/faq.md
+++ b/deps/npm/doc/cli/faq.md
@@ -72,52 +72,6 @@ Write your own package manager, then. It's not that hard.
npm will not help you do something that is known to be a bad idea.
-## `"node_modules"` is the name of my deity's arch-rival, and a Forbidden Word in my religion. Can I configure npm to use a different folder?
-
-No. This will never happen. This question comes up sometimes,
-because it seems silly from the outside that npm couldn't just be
-configured to put stuff somewhere else, and then npm could load them
-from there. It's an arbitrary spelling choice, right? What's the big
-deal?
-
-At the time of this writing, the string `'node_modules'` appears 151
-times in 53 separate files in npm and node core (excluding tests and
-documentation).
-
-Some of these references are in node's built-in module loader. Since
-npm is not involved **at all** at run-time, node itself would have to
-be configured to know where you've decided to stick stuff. Complexity
-hurdle #1. Since the Node module system is locked, this cannot be
-changed, and is enough to kill this request. But I'll continue, in
-deference to your deity's delicate feelings regarding spelling.
-
-Many of the others are in dependencies that npm uses, which are not
-necessarily tightly coupled to npm (in the sense that they do not read
-npm's configuration files, etc.) Each of these would have to be
-configured to take the name of the `node_modules` folder as a
-parameter. Complexity hurdle #2.
-
-Furthermore, npm has the ability to "bundle" dependencies by adding
-the dep names to the `"bundledDependencies"` list in package.json,
-which causes the folder to be included in the package tarball. What
-if the author of a module bundles its dependencies, and they use a
-different spelling for `node_modules`? npm would have to rename the
-folder at publish time, and then be smart enough to unpack it using
-your locally configured name. Complexity hurdle #3.
-
-Furthermore, what happens when you *change* this name? Fine, it's
-easy enough the first time, just rename the `node_modules` folders to
-`./blergyblerp/` or whatever name you choose. But what about when you
-change it again? npm doesn't currently track any state about past
-configuration settings, so this would be rather difficult to do
-properly. It would have to track every previous value for this
-config, and always accept any of them, or else yesterday's install may
-be broken tomorrow. Complexity hurdle #5.
-
-Never going to happen. The folder is named `node_modules`. It is
-written indelibly in the Node Way, handed down from the ancient times
-of Node 0.3.
-
## Should I check my `node_modules` folder into git?
Mikeal Rogers answered this question very well:
@@ -219,6 +173,96 @@ Git urls can be of the form:
The `commit-ish` can be any tag, sha, or branch which can be supplied as
an argument to `git checkout`. The default is `master`.
+## What is a `module`?
+
+A module is anything that can be loaded with `require()` in a Node.js
+program. The following things are all examples of things that can be
+loaded as modules:
+
+* A folder with a `package.json` file containing a `main` field.
+* A folder with an `index.js` file in it.
+* A JavaScript file.
+
+Most npm packages are modules, because they are libraries that you
+load with `require`. However, there's no requirement that an npm
+package be a module! Some only contain an executable command-line
+interface, and don't provide a `main` field for use in Node programs.
+
+Almost all npm packages (at least, those that are Node programs)
+*contain* many modules within them (because every file they load with
+`require()` is a module).
+
+In the context of a Node program, the `module` is also the thing that
+was loaded *from* a file. For example, in the following program:
+
+ var req = require('request')
+
+we might say that "The variable `req` refers to the `request` module".
+
+## So, why is it the "`node_modules`" folder, but "`package.json`" file? Why not `node_packages` or `module.json`?
+
+The `package.json` file defines the package. (See "What is a
+package?" above.)
+
+The `node_modules` folder is the place Node.js looks for modules.
+(See "What is a module?" above.)
+
+For example, if you create a file at `node_modules/foo.js` and then
+had a program that did `var f = require('foo.js')` then it would load
+the module. However, `foo.js` is not a "package" in this case,
+because it does not have a package.json.
+
+Alternatively, if you create a package which does not have an
+`index.js` or a `"main"` field in the `package.json` file, then it is
+not a module. Even if it's installed in `node_modules`, it can't be
+an argument to `require()`.
+
+## `"node_modules"` is the name of my deity's arch-rival, and a Forbidden Word in my religion. Can I configure npm to use a different folder?
+
+No. This will never happen. This question comes up sometimes,
+because it seems silly from the outside that npm couldn't just be
+configured to put stuff somewhere else, and then npm could load them
+from there. It's an arbitrary spelling choice, right? What's the big
+deal?
+
+At the time of this writing, the string `'node_modules'` appears 151
+times in 53 separate files in npm and node core (excluding tests and
+documentation).
+
+Some of these references are in node's built-in module loader. Since
+npm is not involved **at all** at run-time, node itself would have to
+be configured to know where you've decided to stick stuff. Complexity
+hurdle #1. Since the Node module system is locked, this cannot be
+changed, and is enough to kill this request. But I'll continue, in
+deference to your deity's delicate feelings regarding spelling.
+
+Many of the others are in dependencies that npm uses, which are not
+necessarily tightly coupled to npm (in the sense that they do not read
+npm's configuration files, etc.) Each of these would have to be
+configured to take the name of the `node_modules` folder as a
+parameter. Complexity hurdle #2.
+
+Furthermore, npm has the ability to "bundle" dependencies by adding
+the dep names to the `"bundledDependencies"` list in package.json,
+which causes the folder to be included in the package tarball. What
+if the author of a module bundles its dependencies, and they use a
+different spelling for `node_modules`? npm would have to rename the
+folder at publish time, and then be smart enough to unpack it using
+your locally configured name. Complexity hurdle #3.
+
+Furthermore, what happens when you *change* this name? Fine, it's
+easy enough the first time, just rename the `node_modules` folders to
+`./blergyblerp/` or whatever name you choose. But what about when you
+change it again? npm doesn't currently track any state about past
+configuration settings, so this would be rather difficult to do
+properly. It would have to track every previous value for this
+config, and always accept any of them, or else yesterday's install may
+be broken tomorrow. Complexity hurdle #5.
+
+Never going to happen. The folder is named `node_modules`. It is
+written indelibly in the Node Way, handed down from the ancient times
+of Node 0.3.
+
## How do I install node with npm?
You don't. Try one of these node version managers:
@@ -257,11 +301,6 @@ See `npm-link(1)`
See `npm-registry(1)`.
-## What's up with the insecure channel warnings?
-
-Until node 0.4.10, there were problems sending big files over HTTPS. That
-means that publishes go over HTTP by default in those versions of node.
-
## I forgot my password, and can't publish. How do I reset it?
Go to <https://npmjs.org/forgot>.
@@ -274,8 +313,9 @@ To check if the registry is down, open up <http://registry.npmjs.org/>
in a web browser. This will also tell you if you are just unable to
access the internet for some reason.
-If the registry IS down, let me know by emailing or posting an issue.
-We'll have someone kick it or something.
+If the registry IS down, let me know by emailing <i@izs.me> or posting
+an issue at <https://github.com/isaacs/npm/issues>. We'll have
+someone kick it or something.
## Why no namespaces?
@@ -295,9 +335,8 @@ There is not sufficient need to impose namespace rules on everyone.
## I have a question or request not addressed here. Where should I put it?
-Discuss it on the mailing list, or post an issue.
+Post an issue on the github project:
-* <npm-@googlegroups.com>
* <https://github.com/isaacs/npm/issues>
## Why does npm hate me?
diff --git a/deps/npm/html/api/bin.html b/deps/npm/html/api/bin.html
index 669433df82..48f910a206 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 &mdash; npm@1.2.30</p>
+<p id="footer">bin &mdash; npm@1.2.32</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 0c2c1cc743..701819616a 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 &mdash; npm@1.2.30</p>
+<p id="footer">bugs &mdash; npm@1.2.32</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 b6bcc4169c..1c8d3092ed 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-&lt;command&gt;</code> for programmatic usage.</p>
<ul><li><a href="../doc/index.html">index(1)</a></li></ul>
</div>
-<p id="footer">commands &mdash; npm@1.2.30</p>
+<p id="footer">commands &mdash; npm@1.2.32</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 476a5a4203..ae27eeba8b 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 &mdash; npm@1.2.30</p>
+<p id="footer">config &mdash; npm@1.2.32</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 e257e010d6..d1da4c03e5 100644
--- a/deps/npm/html/api/deprecate.html
+++ b/deps/npm/html/api/deprecate.html
@@ -32,7 +32,7 @@ install the package.</p></li></ul>
<ul><li><a href="../api/publish.html">publish(3)</a></li><li><a href="../api/unpublish.html">unpublish(3)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
</div>
-<p id="footer">deprecate &mdash; npm@1.2.30</p>
+<p id="footer">deprecate &mdash; npm@1.2.32</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 1448394437..99ff234c5b 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 &mdash; npm@1.2.30</p>
+<p id="footer">docs &mdash; npm@1.2.32</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 aed880a9f7..22595d10cd 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 &mdash; npm@1.2.30</p>
+<p id="footer">edit &mdash; npm@1.2.32</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 029811666a..d3c1745a48 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 &lt;pkg&gt;</code> if you make any changes.</p>
<p>The first element in the &#39;args&#39; parameter must be a package name. After that is the optional command, which can be any number of strings. All of the strings will be combined into one, space-delimited command.</p>
</div>
-<p id="footer">explore &mdash; npm@1.2.30</p>
+<p id="footer">explore &mdash; npm@1.2.32</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 41ec2cab96..63c2c7848b 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 &mdash; npm@1.2.30</p>
+<p id="footer">help-search &mdash; npm@1.2.32</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 0aa0a1d569..735ddf151b 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 &mdash; npm@1.2.30</p>
+<p id="footer">init &mdash; npm@1.2.32</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 9db79d24f6..3884133181 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, &#39;callback&#39; is a function that will be called when all packages have been
installed or when an error has been encountered.</p>
</div>
-<p id="footer">install &mdash; npm@1.2.30</p>
+<p id="footer">install &mdash; npm@1.2.32</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 f8f94f8cad..d5f441fe81 100644
--- a/deps/npm/html/api/link.html
+++ b/deps/npm/html/api/link.html
@@ -39,7 +39,7 @@ npm.commands.link(&#39;redis&#39;, cb) # link-install the package</code></pre>
<p>Now, any changes to the redis package will be reflected in
the package in the current working directory</p>
</div>
-<p id="footer">link &mdash; npm@1.2.30</p>
+<p id="footer">link &mdash; npm@1.2.32</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 91e963ec88..5a565d8f80 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 &mdash; npm@1.2.30</p>
+<p id="footer">load &mdash; npm@1.2.32</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 09420678c3..9b04ab5401 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 &mdash; npm@1.2.30</p>
+<p id="footer">ls &mdash; npm@1.2.32</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 5b2555f1c3..18de3a0d04 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.2.30</p>
+<p>1.2.32</p>
<h2 id="DESCRIPTION">DESCRIPTION</h2>
@@ -92,7 +92,7 @@ method names. Use the <code>npm.deref</code> method to find the real name.</p>
<pre><code>var cmd = npm.deref(&quot;unp&quot;) // cmd === &quot;unpublish&quot;</code></pre>
</div>
-<p id="footer">npm &mdash; npm@1.2.30</p>
+<p id="footer">npm &mdash; npm@1.2.32</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 f98e2ab112..d452bbf8e3 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 &#39;packages&#39; parameter is left out, npm will check all packages.</p>
</div>
-<p id="footer">outdated &mdash; npm@1.2.30</p>
+<p id="footer">outdated &mdash; npm@1.2.32</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 b29be65390..1d6af161bc 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 &mdash; npm@1.2.30</p>
+<p id="footer">owner &mdash; npm@1.2.32</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 8f6e3bfeb9..6752cb2b4c 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 &mdash; npm@1.2.30</p>
+<p id="footer">pack &mdash; npm@1.2.32</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 83854bc9c5..2d8cc02961 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 &mdash; npm@1.2.30</p>
+<p id="footer">prefix &mdash; npm@1.2.32</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 2844d294c6..fbc0956950 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&#39;s dependencies list.</p>
</div>
-<p id="footer">prune &mdash; npm@1.2.30</p>
+<p id="footer">prune &mdash; npm@1.2.32</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 56868746fd..112f4179b1 100644
--- a/deps/npm/html/api/publish.html
+++ b/deps/npm/html/api/publish.html
@@ -32,7 +32,7 @@ the registry. Overwrites when the &quot;force&quot; environment variable is set
<ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../api/owner.html">owner(3)</a></li></ul>
</div>
-<p id="footer">publish &mdash; npm@1.2.30</p>
+<p id="footer">publish &mdash; npm@1.2.32</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 a3f63386ed..5ee47d8ae0 100644
--- a/deps/npm/html/api/rebuild.html
+++ b/deps/npm/html/api/rebuild.html
@@ -22,7 +22,7 @@ the new binary. If no &#39;packages&#39; parameter is specify, every package wil
<p>See <code>npm help build</code></p>
</div>
-<p id="footer">rebuild &mdash; npm@1.2.30</p>
+<p id="footer">rebuild &mdash; npm@1.2.32</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 c6d4ecc8a8..70bcde2ae0 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 &mdash; npm@1.2.30</p>
+<p id="footer">restart &mdash; npm@1.2.32</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 2c7a8f76fa..07ec2990d0 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 &mdash; npm@1.2.30</p>
+<p id="footer">root &mdash; npm@1.2.32</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 8354b950bd..2adc5a1d49 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 &mdash; npm@1.2.30</p>
+<p id="footer">run-script &mdash; npm@1.2.32</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 8a3fa3b345..46196a544c 100644
--- a/deps/npm/html/api/search.html
+++ b/deps/npm/html/api/search.html
@@ -32,7 +32,7 @@ excluded term (the &quot;searchexclude&quot; config). The search is case insensi
and doesn&#39;t try to read your mind (it doesn&#39;t do any verb tense matching or the
like).</p>
</div>
-<p id="footer">search &mdash; npm@1.2.30</p>
+<p id="footer">search &mdash; npm@1.2.32</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 189b184a98..8ad62ade5b 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, &#39;callback&#39; is a function that will be called when the shrinkwrap has
been saved.</p>
</div>
-<p id="footer">shrinkwrap &mdash; npm@1.2.30</p>
+<p id="footer">shrinkwrap &mdash; npm@1.2.32</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 bcdf0b8d62..a05d76b8cf 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 &mdash; npm@1.2.30</p>
+<p id="footer">start &mdash; npm@1.2.32</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 edf34f015f..ff17385938 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 &mdash; npm@1.2.30</p>
+<p id="footer">stop &mdash; npm@1.2.32</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 819b3741c6..03bbe53954 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 &mdash; npm@1.2.30</p>
+<p id="footer">submodule &mdash; npm@1.2.32</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 cec808328a..d62b550e68 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 &mdash; npm@1.2.30</p>
+<p id="footer">tag &mdash; npm@1.2.32</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 c4685a4fde..4e91823148 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 &mdash; npm@1.2.30</p>
+<p id="footer">test &mdash; npm@1.2.32</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 5f582a3b86..de559b7a6c 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, &#39;callback&#39; is a function that will be called when all packages have been
uninstalled or when an error has been encountered.</p>
</div>
-<p id="footer">uninstall &mdash; npm@1.2.30</p>
+<p id="footer">uninstall &mdash; npm@1.2.32</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 8d9444ff3d..ea3d3f0161 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 &mdash; npm@1.2.30</p>
+<p id="footer">unpublish &mdash; npm@1.2.32</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 51ab08e656..efa32c1a10 100644
--- a/deps/npm/html/api/update.html
+++ b/deps/npm/html/api/update.html
@@ -18,7 +18,7 @@
<p>The &#39;packages&#39; argument is an array of packages to update. The &#39;callback&#39; parameter will be called when done or when an error occurs.</p>
</div>
-<p id="footer">update &mdash; npm@1.2.30</p>
+<p id="footer">update &mdash; npm@1.2.32</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 602b0cbbb5..923de9f3a0 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 &mdash; npm@1.2.30</p>
+<p id="footer">version &mdash; npm@1.2.32</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 c186771820..a98dd039bc 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 &mdash; npm@1.2.30</p>
+<p id="footer">view &mdash; npm@1.2.32</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 8191846120..ca1bfb6546 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 &mdash; npm@1.2.30</p>
+<p id="footer">whoami &mdash; npm@1.2.32</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 62bf0a078d..bb757338a2 100644
--- a/deps/npm/html/doc/README.html
+++ b/deps/npm/html/doc/README.html
@@ -240,7 +240,7 @@ will no doubt tell you to put the output in a gist or email.</p>
<ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/help.html">help(1)</a></li><li><a href="../doc/index.html">index(1)</a></li></ul>
</div>
-<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@1.2.30</p>
+<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@1.2.32</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 97cd10afa6..e77b005b83 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 &mdash; npm@1.2.30</p>
+<p id="footer">adduser &mdash; npm@1.2.32</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 7953827ab6..47d5c66142 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 &mdash; npm@1.2.30</p>
+<p id="footer">bin &mdash; npm@1.2.32</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 174b94903a..e5b8f34d72 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 &mdash; npm@1.2.30</p>
+<p id="footer">bugs &mdash; npm@1.2.32</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 d556823b8f..3278f283ae 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 &mdash; npm@1.2.30</p>
+<p id="footer">build &mdash; npm@1.2.32</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 4b12bbca6a..316e6254f3 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 &mdash; npm@1.2.30</p>
+<p id="footer">bundle &mdash; npm@1.2.32</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 34e02dab37..8007c39b97 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 &mdash; npm@1.2.30</p>
+<p id="footer">cache &mdash; npm@1.2.32</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 89e17afacc..14be6e0088 100644
--- a/deps/npm/html/doc/changelog.html
+++ b/deps/npm/html/doc/changelog.html
@@ -65,7 +65,7 @@
<ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li></ul>
</div>
-<p id="footer">changelog &mdash; npm@1.2.30</p>
+<p id="footer">changelog &mdash; npm@1.2.32</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 8ddb8b7252..15b67f88a8 100644
--- a/deps/npm/html/doc/coding-style.html
+++ b/deps/npm/html/doc/coding-style.html
@@ -182,7 +182,7 @@ set to anything.&quot;</p>
<ul><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/npm.html">npm(1)</a></li></ul>
</div>
-<p id="footer">coding-style &mdash; npm@1.2.30</p>
+<p id="footer">coding-style &mdash; npm@1.2.32</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 06e7d515d7..4a25011dd5 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 &mdash; npm@1.2.30</p>
+<p id="footer">completion &mdash; npm@1.2.32</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 2e8546f0d9..74c118582c 100644
--- a/deps/npm/html/doc/config.html
+++ b/deps/npm/html/doc/config.html
@@ -778,7 +778,7 @@ then answer &quot;no&quot; to any prompt.</p>
<ul><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/npm.html">npm(1)</a></li></ul>
</div>
-<p id="footer">config &mdash; npm@1.2.30</p>
+<p id="footer">config &mdash; npm@1.2.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
diff --git a/deps/npm/html/doc/dedupe.html b/deps/npm/html/doc/dedupe.html
index c82f069bd8..cd4df5eb7c 100644
--- a/deps/npm/html/doc/dedupe.html
+++ b/deps/npm/html/doc/dedupe.html
@@ -57,7 +57,7 @@ registry.</p>
<ul><li><a href="../doc/ls.html">ls(1)</a></li><li><a href="../doc/update.html">update(1)</a></li><li><a href="../doc/install.html">install(1)</a></li></ul>
</div>
-<p id="footer">dedupe &mdash; npm@1.2.30</p>
+<p id="footer">dedupe &mdash; npm@1.2.32</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 67803ee621..391cd5cbe7 100644
--- a/deps/npm/html/doc/deprecate.html
+++ b/deps/npm/html/doc/deprecate.html
@@ -31,7 +31,7 @@ something like this:</p>
<ul><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
</div>
-<p id="footer">deprecate &mdash; npm@1.2.30</p>
+<p id="footer">deprecate &mdash; npm@1.2.32</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 1e6de37f79..4ef43b630e 100644
--- a/deps/npm/html/doc/developers.html
+++ b/deps/npm/html/doc/developers.html
@@ -174,7 +174,7 @@ from a fresh checkout.</p>
<ul><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/init.html">init(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
</div>
-<p id="footer">developers &mdash; npm@1.2.30</p>
+<p id="footer">developers &mdash; npm@1.2.32</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 9077df689e..fe33a4f87b 100644
--- a/deps/npm/html/doc/disputes.html
+++ b/deps/npm/html/doc/disputes.html
@@ -91,7 +91,7 @@ things into it.</li></ol>
<ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/owner.html">owner(1)</a></li></ul>
</div>
-<p id="footer">disputes &mdash; npm@1.2.30</p>
+<p id="footer">disputes &mdash; npm@1.2.32</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 c6338db452..851aac7c32 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 &mdash; npm@1.2.30</p>
+<p id="footer">docs &mdash; npm@1.2.32</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 1d897a6074..2453c3306d 100644
--- a/deps/npm/html/doc/edit.html
+++ b/deps/npm/html/doc/edit.html
@@ -37,7 +37,7 @@ or <code>&quot;notepad&quot;</code> on Windows.</li><li>Type: path</li></ul>
<ul><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/explore.html">explore(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
</div>
-<p id="footer">edit &mdash; npm@1.2.30</p>
+<p id="footer">edit &mdash; npm@1.2.32</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 0ce0eabae3..3838e1feb9 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 &mdash; npm@1.2.30</p>
+<p id="footer">explore &mdash; npm@1.2.32</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 d720d905f6..9aad28ef49 100644
--- a/deps/npm/html/doc/faq.html
+++ b/deps/npm/html/doc/faq.html
@@ -78,52 +78,6 @@ program that uses it.</p>
<p>npm will not help you do something that is known to be a bad idea.</p>
-<h2 id="node_modules-is-the-name-of-my-deity-s-arch-rival-and-a-Forbidden-Word-in-my-religion-Can-I-configure-npm-to-use-a-different-folder"><code>&quot;node_modules&quot;</code> is the name of my deity&#39;s arch-rival, and a Forbidden Word in my religion. Can I configure npm to use a different folder?</h2>
-
-<p>No. This will never happen. This question comes up sometimes,
-because it seems silly from the outside that npm couldn&#39;t just be
-configured to put stuff somewhere else, and then npm could load them
-from there. It&#39;s an arbitrary spelling choice, right? What&#39;s the big
-deal?</p>
-
-<p>At the time of this writing, the string <code>&#39;node_modules&#39;</code> appears 151
-times in 53 separate files in npm and node core (excluding tests and
-documentation).</p>
-
-<p>Some of these references are in node&#39;s built-in module loader. Since
-npm is not involved <strong>at all</strong> at run-time, node itself would have to
-be configured to know where you&#39;ve decided to stick stuff. Complexity
-hurdle #1. Since the Node module system is locked, this cannot be
-changed, and is enough to kill this request. But I&#39;ll continue, in
-deference to your deity&#39;s delicate feelings regarding spelling.</p>
-
-<p>Many of the others are in dependencies that npm uses, which are not
-necessarily tightly coupled to npm (in the sense that they do not read
-npm&#39;s configuration files, etc.) Each of these would have to be
-configured to take the name of the <code>node_modules</code> folder as a
-parameter. Complexity hurdle #2.</p>
-
-<p>Furthermore, npm has the ability to &quot;bundle&quot; dependencies by adding
-the dep names to the <code>&quot;bundledDependencies&quot;</code> list in package.json,
-which causes the folder to be included in the package tarball. What
-if the author of a module bundles its dependencies, and they use a
-different spelling for <code>node_modules</code>? npm would have to rename the
-folder at publish time, and then be smart enough to unpack it using
-your locally configured name. Complexity hurdle #3.</p>
-
-<p>Furthermore, what happens when you <em>change</em> this name? Fine, it&#39;s
-easy enough the first time, just rename the <code>node_modules</code> folders to
-<code>./blergyblerp/</code> or whatever name you choose. But what about when you
-change it again? npm doesn&#39;t currently track any state about past
-configuration settings, so this would be rather difficult to do
-properly. It would have to track every previous value for this
-config, and always accept any of them, or else yesterday&#39;s install may
-be broken tomorrow. Complexity hurdle #5.</p>
-
-<p>Never going to happen. The folder is named <code>node_modules</code>. It is
-written indelibly in the Node Way, handed down from the ancient times
-of Node 0.3.</p>
-
<h2 id="Should-I-check-my-node_modules-folder-into-git">Should I check my <code>node_modules</code> folder into git?</h2>
<p>Mikeal Rogers answered this question very well:</p>
@@ -217,6 +171,94 @@ 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="What-is-a-module">What is a <code>module</code>?</h2>
+
+<p>A module is anything that can be loaded with <code>require()</code> in a Node.js
+program. The following things are all examples of things that can be
+loaded as modules:</p>
+
+<ul><li>A folder with a <code>package.json</code> file containing a <code>main</code> field.</li><li>A folder with an <code>index.js</code> file in it.</li><li>A JavaScript file.</li></ul>
+
+<p>Most npm packages are modules, because they are libraries that you
+load with <code>require</code>. However, there&#39;s no requirement that an npm
+package be a module! Some only contain an executable command-line
+interface, and don&#39;t provide a <code>main</code> field for use in Node programs.</p>
+
+<p>Almost all npm packages (at least, those that are Node programs)
+<em>contain</em> many modules within them (because every file they load with
+<code>require()</code> is a module).</p>
+
+<p>In the context of a Node program, the <code>module</code> is also the thing that
+was loaded <em>from</em> a file. For example, in the following program:</p>
+
+<pre><code>var req = require(&#39;request&#39;)</code></pre>
+
+<p>we might say that &quot;The variable <code>req</code> refers to the <code>request</code> module&quot;.</p>
+
+<h2 id="So-why-is-it-the-node_modules-folder-but-package-json-file-Why-not-node_packages-or-module-json">So, why is it the &quot;<code>node_modules</code>&quot; folder, but &quot;<code>package.json</code>&quot; file? Why not <code>node_packages</code> or <code>module.json</code>?</h2>
+
+<p>The <code>package.json</code> file defines the package. (See &quot;What is a
+package?&quot; above.)</p>
+
+<p>The <code>node_modules</code> folder is the place Node.js looks for modules.
+(See &quot;What is a module?&quot; above.)</p>
+
+<p>For example, if you create a file at <code>node_modules/foo.js</code> and then
+had a program that did <code>var f = require(&#39;foo.js&#39;)</code> then it would load
+the module. However, <code>foo.js</code> is not a &quot;package&quot; in this case,
+because it does not have a package.json.</p>
+
+<p>Alternatively, if you create a package which does not have an
+<code>index.js</code> or a <code>&quot;main&quot;</code> field in the <code>package.json</code> file, then it is
+not a module. Even if it&#39;s installed in <code>node_modules</code>, it can&#39;t be
+an argument to <code>require()</code>.</p>
+
+<h2 id="node_modules-is-the-name-of-my-deity-s-arch-rival-and-a-Forbidden-Word-in-my-religion-Can-I-configure-npm-to-use-a-different-folder"><code>&quot;node_modules&quot;</code> is the name of my deity&#39;s arch-rival, and a Forbidden Word in my religion. Can I configure npm to use a different folder?</h2>
+
+<p>No. This will never happen. This question comes up sometimes,
+because it seems silly from the outside that npm couldn&#39;t just be
+configured to put stuff somewhere else, and then npm could load them
+from there. It&#39;s an arbitrary spelling choice, right? What&#39;s the big
+deal?</p>
+
+<p>At the time of this writing, the string <code>&#39;node_modules&#39;</code> appears 151
+times in 53 separate files in npm and node core (excluding tests and
+documentation).</p>
+
+<p>Some of these references are in node&#39;s built-in module loader. Since
+npm is not involved <strong>at all</strong> at run-time, node itself would have to
+be configured to know where you&#39;ve decided to stick stuff. Complexity
+hurdle #1. Since the Node module system is locked, this cannot be
+changed, and is enough to kill this request. But I&#39;ll continue, in
+deference to your deity&#39;s delicate feelings regarding spelling.</p>
+
+<p>Many of the others are in dependencies that npm uses, which are not
+necessarily tightly coupled to npm (in the sense that they do not read
+npm&#39;s configuration files, etc.) Each of these would have to be
+configured to take the name of the <code>node_modules</code> folder as a
+parameter. Complexity hurdle #2.</p>
+
+<p>Furthermore, npm has the ability to &quot;bundle&quot; dependencies by adding
+the dep names to the <code>&quot;bundledDependencies&quot;</code> list in package.json,
+which causes the folder to be included in the package tarball. What
+if the author of a module bundles its dependencies, and they use a
+different spelling for <code>node_modules</code>? npm would have to rename the
+folder at publish time, and then be smart enough to unpack it using
+your locally configured name. Complexity hurdle #3.</p>
+
+<p>Furthermore, what happens when you <em>change</em> this name? Fine, it&#39;s
+easy enough the first time, just rename the <code>node_modules</code> folders to
+<code>./blergyblerp/</code> or whatever name you choose. But what about when you
+change it again? npm doesn&#39;t currently track any state about past
+configuration settings, so this would be rather difficult to do
+properly. It would have to track every previous value for this
+config, and always accept any of them, or else yesterday&#39;s install may
+be broken tomorrow. Complexity hurdle #5.</p>
+
+<p>Never going to happen. The folder is named <code>node_modules</code>. It is
+written indelibly in the Node Way, handed down from the ancient times
+of Node 0.3.</p>
+
<h2 id="How-do-I-install-node-with-npm">How do I install node with npm?</h2>
<p>You don&#39;t. Try one of these node version managers:</p>
@@ -252,11 +294,6 @@ that has a package.json in its root, or a git url.
<p>See <code><a href="../doc/registry.html">registry(1)</a></code>.</p>
-<h2 id="What-s-up-with-the-insecure-channel-warnings">What&#39;s up with the insecure channel warnings?</h2>
-
-<p>Until node 0.4.10, there were problems sending big files over HTTPS. That
-means that publishes go over HTTP by default in those versions of node.</p>
-
<h2 id="I-forgot-my-password-and-can-t-publish-How-do-I-reset-it">I forgot my password, and can&#39;t publish. How do I reset it?</h2>
<p>Go to <a href="https://npmjs.org/forgot">https://npmjs.org/forgot</a>.</p>
@@ -269,8 +306,9 @@ means that publishes go over HTTP by default in those versions of node.</p>
in a web browser. This will also tell you if you are just unable to
access the internet for some reason.</p>
-<p>If the registry IS down, let me know by emailing or posting an issue.
-We&#39;ll have someone kick it or something.</p>
+<p>If the registry IS down, let me know by emailing <a href="mailto:i@izs.me">i@izs.me</a> or posting
+an issue at <a href="https://github.com/isaacs/npm/issues">https://github.com/isaacs/npm/issues</a>. We&#39;ll have
+someone kick it or something.</p>
<h2 id="Why-no-namespaces">Why no namespaces?</h2>
@@ -290,9 +328,9 @@ There is not sufficient need to impose namespace rules on everyone.</p>
<h2 id="I-have-a-question-or-request-not-addressed-here-Where-should-I-put-it">I have a question or request not addressed here. Where should I put it?</h2>
-<p>Discuss it on the mailing list, or post an issue.</p>
+<p>Post an issue on the github project:</p>
-<ul><li><a href="mailto:npm-@googlegroups.com">npm-@googlegroups.com</a></li><li><a href="https://github.com/isaacs/npm/issues">https://github.com/isaacs/npm/issues</a></li></ul>
+<ul><li><a href="https://github.com/isaacs/npm/issues">https://github.com/isaacs/npm/issues</a></li></ul>
<h2 id="Why-does-npm-hate-me">Why does npm hate me?</h2>
@@ -302,7 +340,7 @@ There is not sufficient need to impose namespace rules on everyone.</p>
<ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li></ul>
</div>
-<p id="footer">faq &mdash; npm@1.2.30</p>
+<p id="footer">faq &mdash; npm@1.2.32</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 3ff8e074bb..cf1489f273 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 &mdash; npm@1.2.30</p>
+<p id="footer">folders &mdash; npm@1.2.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
diff --git a/deps/npm/html/doc/global.html b/deps/npm/html/doc/global.html
index 5d40d64beb..657c8839a0 100644
--- a/deps/npm/html/doc/global.html
+++ b/deps/npm/html/doc/global.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">global &mdash; npm@1.2.30</p>
+<p id="footer">global &mdash; npm@1.2.32</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 91e090b53c..79ef133cfa 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 &mdash; npm@1.2.30</p>
+<p id="footer">help-search &mdash; npm@1.2.32</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 2612a1a82d..afd522d889 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 &mdash; npm@1.2.30</p>
+<p id="footer">help &mdash; npm@1.2.32</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 55ffe5a413..a4690619bc 100644
--- a/deps/npm/html/doc/index.html
+++ b/deps/npm/html/doc/index.html
@@ -400,7 +400,7 @@
<p> Display npm username</p>
</div>
-<p id="footer">index &mdash; npm@1.2.30</p>
+<p id="footer">index &mdash; npm@1.2.32</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 5d327ceca2..b2e9b7cec3 100644
--- a/deps/npm/html/doc/init.html
+++ b/deps/npm/html/doc/init.html
@@ -29,7 +29,7 @@ without a really good reason to do so.</p>
<ul><li><a href="https://github.com/isaacs/init-package-json">https://github.com/isaacs/init-package-json</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/version.html">version(1)</a></li></ul>
</div>
-<p id="footer">init &mdash; npm@1.2.30</p>
+<p id="footer">init &mdash; npm@1.2.32</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 f8c523ec40..bb1e55c4e7 100644
--- a/deps/npm/html/doc/install.html
+++ b/deps/npm/html/doc/install.html
@@ -142,7 +142,7 @@ affects a real use-case, it will be investigated.</p>
<ul><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/update.html">update(1)</a></li><li><a href="../doc/link.html">link(1)</a></li><li><a href="../doc/rebuild.html">rebuild(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/build.html">build(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/tag.html">tag(1)</a></li><li><a href="../doc/rm.html">rm(1)</a></li><li><a href="../doc/shrinkwrap.html">shrinkwrap(1)</a></li></ul>
</div>
-<p id="footer">install &mdash; npm@1.2.30</p>
+<p id="footer">install &mdash; npm@1.2.32</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 0f498d4e7e..fc767d07f7 100644
--- a/deps/npm/html/doc/json.html
+++ b/deps/npm/html/doc/json.html
@@ -546,7 +546,7 @@ overridden.</p>
<ul><li><a href="../doc/semver.html">semver(1)</a></li><li><a href="../doc/init.html">init(1)</a></li><li><a href="../doc/version.html">version(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/help.html">help(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/rm.html">rm(1)</a></li></ul>
</div>
-<p id="footer">json &mdash; npm@1.2.30</p>
+<p id="footer">json &mdash; npm@1.2.32</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 0457b8e07a..ab757c0b25 100644
--- a/deps/npm/html/doc/link.html
+++ b/deps/npm/html/doc/link.html
@@ -61,7 +61,7 @@ installation target into your project&#39;s <code>node_modules</code> folder.</p
<ul><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
</div>
-<p id="footer">link &mdash; npm@1.2.30</p>
+<p id="footer">link &mdash; npm@1.2.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
diff --git a/deps/npm/html/doc/ls.html b/deps/npm/html/doc/ls.html
index cdca8bac69..108b937f47 100644
--- a/deps/npm/html/doc/ls.html
+++ b/deps/npm/html/doc/ls.html
@@ -25,7 +25,7 @@ limit the results to only the paths to the packages named. Note that
nested packages will <em>also</em> show the paths to the specified packages.
For example, running <code>npm ls promzard</code> in npm&#39;s source tree will show:</p>
-<pre><code>npm@1.2.30 /path/to/npm
+<pre><code>npm@1.2.32 /path/to/npm
└─┬ init-package-json@0.0.4
└── promzard@0.1.5</code></pre>
@@ -64,7 +64,7 @@ project.</p>
<ul><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/link.html">link(1)</a></li><li><a href="../doc/prune.html">prune(1)</a></li><li><a href="../doc/outdated.html">outdated(1)</a></li><li><a href="../doc/update.html">update(1)</a></li></ul>
</div>
-<p id="footer">ls &mdash; npm@1.2.30</p>
+<p id="footer">ls &mdash; npm@1.2.32</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 44e6aa6aa9..afc3aae8e6 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.2.30</p>
+<p>1.2.32</p>
<h2 id="DESCRIPTION">DESCRIPTION</h2>
@@ -135,7 +135,7 @@ will no doubt tell you to put the output in a gist or email.</p>
<ul><li><a href="../doc/help.html">help(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/README.html">README</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/index.html">index(1)</a></li><li><a href="../api/npm.html">npm(3)</a></li></ul>
</div>
-<p id="footer">npm &mdash; npm@1.2.30</p>
+<p id="footer">npm &mdash; npm@1.2.32</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 2c096562c6..273b4a999c 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 &mdash; npm@1.2.30</p>
+<p id="footer">outdated &mdash; npm@1.2.32</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 1f24398230..91151f9995 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 &mdash; npm@1.2.30</p>
+<p id="footer">owner &mdash; npm@1.2.32</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 666292a2cf..03cad44394 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 &mdash; npm@1.2.30</p>
+<p id="footer">pack &mdash; npm@1.2.32</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 a8058cb6cb..b809128066 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 &mdash; npm@1.2.30</p>
+<p id="footer">prefix &mdash; npm@1.2.32</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 7fdd576294..153cbb1fd9 100644
--- a/deps/npm/html/doc/prune.html
+++ b/deps/npm/html/doc/prune.html
@@ -25,7 +25,7 @@ package&#39;s dependencies list.</p>
<ul><li><a href="../doc/rm.html">rm(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/list.html">list(1)</a></li></ul>
</div>
-<p id="footer">prune &mdash; npm@1.2.30</p>
+<p id="footer">prune &mdash; npm@1.2.32</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 a52f648e10..8a557a1129 100644
--- a/deps/npm/html/doc/publish.html
+++ b/deps/npm/html/doc/publish.html
@@ -29,7 +29,7 @@ the registry. Overwrites when the &quot;--force&quot; flag is set.</p>
<ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../doc/owner.html">owner(1)</a></li><li><a href="../doc/deprecate.html">deprecate(1)</a></li><li><a href="../doc/tag.html">tag(1)</a></li></ul>
</div>
-<p id="footer">publish &mdash; npm@1.2.30</p>
+<p id="footer">publish &mdash; npm@1.2.32</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 cdd2cc0fa0..3c4e5e31aa 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 &mdash; npm@1.2.30</p>
+<p id="footer">rebuild &mdash; npm@1.2.32</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 b2af939022..c0a8862fa9 100644
--- a/deps/npm/html/doc/registry.html
+++ b/deps/npm/html/doc/registry.html
@@ -95,7 +95,7 @@ ask for help on the <a href="mailto:npm-@googlegroups.com">npm-@googlegroups.com
<ul><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/disputes.html">disputes(1)</a></li></ul>
</div>
-<p id="footer">registry &mdash; npm@1.2.30</p>
+<p id="footer">registry &mdash; npm@1.2.32</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 74698f24f2..a837205972 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 &mdash; npm@1.2.30</p>
+<p id="footer">removing-npm &mdash; npm@1.2.32</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 03dd07dd39..db45030520 100644
--- a/deps/npm/html/doc/restart.html
+++ b/deps/npm/html/doc/restart.html
@@ -24,7 +24,7 @@ the &quot;start&quot; script.</p>
<ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/test.html">test(1)</a></li><li><a href="../doc/start.html">start(1)</a></li><li><a href="../doc/stop.html">stop(1)</a></li></ul>
</div>
-<p id="footer">restart &mdash; npm@1.2.30</p>
+<p id="footer">restart &mdash; npm@1.2.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
diff --git a/deps/npm/html/doc/rm.html b/deps/npm/html/doc/rm.html
index 92d679d445..af7da8e22c 100644
--- a/deps/npm/html/doc/rm.html
+++ b/deps/npm/html/doc/rm.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">rm &mdash; npm@1.2.30</p>
+<p id="footer">rm &mdash; npm@1.2.32</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 e48db33680..731d46da59 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 &mdash; npm@1.2.30</p>
+<p id="footer">root &mdash; npm@1.2.32</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 946c922984..b97e4ef74b 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 &mdash; npm@1.2.30</p>
+<p id="footer">run-script &mdash; npm@1.2.32</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 e16c34dd77..0682a98150 100644
--- a/deps/npm/html/doc/scripts.html
+++ b/deps/npm/html/doc/scripts.html
@@ -218,7 +218,7 @@ will sudo the npm command in question.</li></ul>
<ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/install.html">install(1)</a></li></ul>
</div>
-<p id="footer">scripts &mdash; npm@1.2.30</p>
+<p id="footer">scripts &mdash; npm@1.2.32</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 39eab14042..1d9b62971c 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 &mdash; npm@1.2.30</p>
+<p id="footer">search &mdash; npm@1.2.32</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 b906a6d2a1..47cd871bc6 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 &mdash; npm@1.2.30</p>
+<p id="footer">semver &mdash; npm@1.2.32</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 40abed5f94..35928186e4 100644
--- a/deps/npm/html/doc/shrinkwrap.html
+++ b/deps/npm/html/doc/shrinkwrap.html
@@ -183,7 +183,7 @@ contents rather than versions.</p>
<ul><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/list.html">list(1)</a></li></ul>
</div>
-<p id="footer">shrinkwrap &mdash; npm@1.2.30</p>
+<p id="footer">shrinkwrap &mdash; npm@1.2.32</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 99b87fd069..6082133a54 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 &mdash; npm@1.2.30</p>
+<p id="footer">star &mdash; npm@1.2.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
diff --git a/deps/npm/html/doc/stars.html b/deps/npm/html/doc/stars.html
index 6c183aa7b0..c4e3817455 100644
--- a/deps/npm/html/doc/stars.html
+++ b/deps/npm/html/doc/stars.html
@@ -25,7 +25,7 @@ you will most certainly enjoy this command.</p>
<ul><li><a href="../doc/star.html">star(1)</a></li><li><a href="../doc/view.html">view(1)</a></li><li><a href="../doc/whoami.html">whoami(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li></ul>
</div>
-<p id="footer">stars &mdash; npm@1.2.30</p>
+<p id="footer">stars &mdash; npm@1.2.32</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 2616b255f0..15182f3b3a 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 &mdash; npm@1.2.30</p>
+<p id="footer">start &mdash; npm@1.2.32</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 a06df19e3a..c959df6f28 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 &mdash; npm@1.2.30</p>
+<p id="footer">stop &mdash; npm@1.2.32</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 98063d1fc1..f5d7f98389 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 &mdash; npm@1.2.30</p>
+<p id="footer">submodule &mdash; npm@1.2.32</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 d276fe4c30..1079637200 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 &mdash; npm@1.2.30</p>
+<p id="footer">tag &mdash; npm@1.2.32</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 d589ffaaba..0c158f3bab 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 &mdash; npm@1.2.30</p>
+<p id="footer">test &mdash; npm@1.2.32</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 eb1717ce67..b987b86f7a 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 &mdash; npm@1.2.30</p>
+<p id="footer">uninstall &mdash; npm@1.2.32</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 17f4d08ed6..0d09b07a51 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 &mdash; npm@1.2.30</p>
+<p id="footer">unpublish &mdash; npm@1.2.32</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 451bfe8181..9d56015a01 100644
--- a/deps/npm/html/doc/update.html
+++ b/deps/npm/html/doc/update.html
@@ -26,7 +26,7 @@ If no package name is specified, all packages in the specified location (global
<ul><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/outdated.html">outdated(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/list.html">list(1)</a></li></ul>
</div>
-<p id="footer">update &mdash; npm@1.2.30</p>
+<p id="footer">update &mdash; npm@1.2.32</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 a00291e98b..bb1d42969a 100644
--- a/deps/npm/html/doc/version.html
+++ b/deps/npm/html/doc/version.html
@@ -49,7 +49,7 @@ Enter passphrase:</code></pre>
<ul><li><a href="../doc/init.html">init(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/semver.html">semver(1)</a></li></ul>
</div>
-<p id="footer">version &mdash; npm@1.2.30</p>
+<p id="footer">version &mdash; npm@1.2.32</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 da6fa00d8c..f0e99ea91b 100644
--- a/deps/npm/html/doc/view.html
+++ b/deps/npm/html/doc/view.html
@@ -90,7 +90,7 @@ the field name.</p>
<ul><li><a href="../doc/search.html">search(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/docs.html">docs(1)</a></li></ul>
</div>
-<p id="footer">view &mdash; npm@1.2.30</p>
+<p id="footer">view &mdash; npm@1.2.32</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 ae2d87b26d..08515c9cfd 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 &mdash; npm@1.2.30</p>
+<p id="footer">whoami &mdash; npm@1.2.32</p>
<script>
;(function () {
var wrapper = document.getElementById("wrapper")
diff --git a/deps/npm/lib/npm.js b/deps/npm/lib/npm.js
index 9a6a69c2f2..6cd7888d03 100644
--- a/deps/npm/lib/npm.js
+++ b/deps/npm/lib/npm.js
@@ -163,6 +163,7 @@ var commandCache = {}
, "unbuild"
, "xmas"
, "substack"
+ , "visnup"
]
, fullList = npm.fullList = cmdList.concat(aliasNames).filter(function (c) {
return plumbing.indexOf(c) === -1
diff --git a/deps/npm/lib/outdated.js b/deps/npm/lib/outdated.js
index e3ef5b1e45..038f18bfab 100644
--- a/deps/npm/lib/outdated.js
+++ b/deps/npm/lib/outdated.js
@@ -138,7 +138,7 @@ function shouldUpdate (args, dir, dep, has, req, cb) {
}
function doIt (shouldHave) {
- cb(null, [[ dir, dep, has[dep], shouldHave ]])
+ cb(null, [[ dir, dep, has[dep], shouldHave, req ]])
}
if (args.length && args.indexOf(dep) === -1) {
diff --git a/deps/npm/lib/update.js b/deps/npm/lib/update.js
index 46d32678e8..68e01955ac 100644
--- a/deps/npm/lib/update.js
+++ b/deps/npm/lib/update.js
@@ -27,12 +27,16 @@ function update (args, cb) {
if (er) return cb(er)
asyncMap(outdated, function (ww, cb) {
- // [[ dir, dep, has, want ]]
+ // [[ dir, dep, has, want, req ]]
var where = ww[0]
, dep = ww[1]
, want = ww[3]
, what = dep + "@" + want
+ , req = ww[4]
+ , url = require('url')
+ // use the initial installation method (repo, tar, git) for updating
+ if (url.parse(req).protocol) what = req
npm.commands.install(where, what, cb)
}, cb)
})
diff --git a/deps/npm/lib/visnup.js b/deps/npm/lib/visnup.js
new file mode 100644
index 0000000000..8d710c20b0
--- /dev/null
+++ b/deps/npm/lib/visnup.js
@@ -0,0 +1,42 @@
+module.exports = visnup
+var npm = require("./npm.js")
+
+var handsomeFace = [
+ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 237, 236, 236, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ ,[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 236, 235, 233, 237, 235, 233, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ ,[0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 235, 233, 232, 235, 235, 234, 233, 236, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ ,[0, 0, 0, 0, 0, 0, 0, 0, 237, 235, 232, 232, 234, 233, 233, 232, 232, 233, 232, 232, 235, 232, 233, 234, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ ,[0, 0, 0, 0, 0, 0, 0, 232, 232, 232, 239, 238, 235, 233, 232, 232, 232, 232, 232, 232, 232, 233, 235, 232, 233, 233, 232, 0, 0, 0, 0, 0, 0, 0]
+ ,[0, 0, 0, 0, 234, 234, 232, 233, 234, 233, 234, 235, 233, 235, 60, 238, 238, 234, 234, 233, 234, 233, 238, 251, 246, 233, 233, 232, 0, 0, 0, 0, 0, 0]
+ ,[0, 0, 233, 233, 233, 232, 232, 239, 249, 251, 252, 231, 231, 188, 250, 254, 59, 60, 255, 231, 231, 231, 252, 235, 239, 235, 232, 233, 0, 0, 0, 0, 0, 0]
+ ,[0, 0, 232, 233, 232, 232, 232, 248, 231, 231, 231, 231, 231, 231, 231, 254, 238, 254, 231, 231, 231, 231, 231, 252, 233, 235, 237, 233, 234, 0, 0, 0, 0, 0]
+ ,[0, 0, 233, 232, 232, 232, 248, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 251, 233, 233, 233, 236, 233, 0, 0, 0, 0]
+ ,[232, 233, 233, 232, 232, 246, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 249, 233, 234, 234, 0, 0, 0, 0]
+ ,[232, 232, 232, 232, 233, 249, 231, 255, 255, 255, 255, 254, 109, 60, 239, 237, 238, 237, 235, 235, 235, 235, 236, 235, 235, 235, 234, 232, 232, 232, 232, 232, 233, 0]
+ ,[0, 232, 232, 233, 233, 233, 233, 233, 233, 233, 233, 233, 235, 236, 238, 238, 235, 188, 254, 254, 145, 236, 252, 254, 254, 254, 254, 249, 236, 235, 232, 232, 233, 0]
+ ,[0, 0, 233, 237, 249, 239, 233, 252, 231, 231, 231, 231, 231, 231, 254, 235, 235, 254, 231, 231, 251, 235, 237, 231, 231, 231, 231, 7, 237, 235, 232, 233, 233, 0]
+ ,[0, 0, 0, 0, 233, 248, 239, 233, 231, 231, 231, 231, 254, 233, 233, 235, 254, 255, 231, 254, 237, 236, 254, 239, 235, 235, 233, 233, 232, 232, 233, 232, 0, 0]
+ ,[0, 0, 0, 232, 233, 246, 255, 255, 236, 236, 236, 236, 236, 255, 231, 231, 231, 231, 231, 231, 252, 234, 248, 231, 231, 231, 231, 248, 232, 232, 232, 0, 0, 0]
+ ,[0, 0, 0, 0, 235, 237, 7, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 255, 238, 235, 7, 231, 231, 231, 246, 232, 0, 0, 0, 0, 0]
+ ,[0, 0, 0, 0, 0, 235, 103, 188, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 252, 232, 238, 231, 231, 255, 244, 232, 0, 0, 0, 0, 0]
+ ,[0, 0, 0, 0, 0, 235, 236, 103, 146, 253, 255, 231, 231, 231, 231, 231, 253, 251, 250, 250, 250, 246, 232, 235, 152, 255, 146, 66, 233, 0, 0, 0, 0, 0]
+ ,[0, 0, 0, 0, 0, 0, 233, 103, 146, 146, 146, 146, 254, 231, 231, 231, 109, 103, 146, 255, 188, 239, 240, 103, 255, 253, 103, 238, 234, 0, 0, 0, 0, 0]
+ ,[0, 0, 0, 0, 0, 0, 232, 235, 109, 146, 146, 146, 146, 146, 252, 152, 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 103, 235, 233, 0, 0, 0, 0, 0]
+ ,[0, 0, 0, 0, 0, 0, 0, 235, 235, 103, 146, 146, 146, 146, 146, 146, 188, 188, 188, 188, 188, 188, 152, 146, 146, 146, 66, 235, 0, 0, 0, 0, 0, 0]
+ ,[0, 0, 0, 0, 0, 0, 0, 0, 233, 235, 66, 146, 146, 146, 146, 152, 255, 146, 240, 239, 241, 109, 146, 146, 146, 103, 233, 0, 0, 0, 0, 0, 0, 0]
+ ,[0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 237, 109, 146, 146, 146, 146, 146, 254, 231, 231, 188, 146, 146, 146, 103, 233, 0, 0, 0, 0, 0, 0, 0, 0]
+ ,[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 237, 60, 103, 146, 146, 146, 146, 146, 103, 66, 60, 235, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0]
+ ,[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 233, 233, 236, 235, 237, 235, 237, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
+
+
+function visnup (args, cb) {
+ handsomeFace.forEach(function (line) {
+ console.log(line.map(function (ch) {
+ return "\033[" + (ch ? "48;5;" + ch : ch) + "m"
+ }).join(' '))
+ })
+
+ var c = args.shift()
+ if (c) npm.commands[c](args, cb)
+ else cb()
+}
diff --git a/deps/npm/man/man1/faq.1 b/deps/npm/man/man1/faq.1
index 68353e5944..4a985d2753 100644
--- a/deps/npm/man/man1/faq.1
+++ b/deps/npm/man/man1/faq.1
@@ -89,56 +89,6 @@ Write your own package manager, then\. It\'s not that hard\.
.P
npm will not help you do something that is known to be a bad idea\.
.
-.SH "<code>&quot;node_modules&quot;</code>"
-No\. This will never happen\. This question comes up sometimes,
-because it seems silly from the outside that npm couldn\'t just be
-configured to put stuff somewhere else, and then npm could load them
-from there\. It\'s an arbitrary spelling choice, right? What\'s the big
-deal?
-.
-.P
-At the time of this writing, the string \fB\'node_modules\'\fR appears 151
-times in 53 separate files in npm and node core (excluding tests and
-documentation)\.
-.
-.P
-Some of these references are in node\'s built\-in module loader\. Since
-npm is not involved \fBat all\fR at run\-time, node itself would have to
-be configured to know where you\'ve decided to stick stuff\. Complexity
-hurdle #1\. Since the Node module system is locked, this cannot be
-changed, and is enough to kill this request\. But I\'ll continue, in
-deference to your deity\'s delicate feelings regarding spelling\.
-.
-.P
-Many of the others are in dependencies that npm uses, which are not
-necessarily tightly coupled to npm (in the sense that they do not read
-npm\'s configuration files, etc\.) Each of these would have to be
-configured to take the name of the \fBnode_modules\fR folder as a
-parameter\. Complexity hurdle #2\.
-.
-.P
-Furthermore, npm has the ability to "bundle" dependencies by adding
-the dep names to the \fB"bundledDependencies"\fR list in package\.json,
-which causes the folder to be included in the package tarball\. What
-if the author of a module bundles its dependencies, and they use a
-different spelling for \fBnode_modules\fR? npm would have to rename the
-folder at publish time, and then be smart enough to unpack it using
-your locally configured name\. Complexity hurdle #3\.
-.
-.P
-Furthermore, what happens when you \fIchange\fR this name? Fine, it\'s
-easy enough the first time, just rename the \fBnode_modules\fR folders to \fB\|\./blergyblerp/\fR or whatever name you choose\. But what about when you
-change it again? npm doesn\'t currently track any state about past
-configuration settings, so this would be rather difficult to do
-properly\. It would have to track every previous value for this
-config, and always accept any of them, or else yesterday\'s install may
-be broken tomorrow\. Complexity hurdle #5\.
-.
-.P
-Never going to happen\. The folder is named \fBnode_modules\fR\|\. It is
-written indelibly in the Node Way, handed down from the ancient times
-of Node 0\.3\.
-.
.SH "Should I check my "
Mikeal Rogers answered this question very well:
.
@@ -286,6 +236,116 @@ git+https://user@hostname/project/blah\.git#commit\-ish
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 "What is a "
+A module is anything that can be loaded with \fBrequire()\fR in a Node\.js
+program\. The following things are all examples of things that can be
+loaded as modules:
+.
+.IP "\(bu" 4
+A folder with a \fBpackage\.json\fR file containing a \fBmain\fR field\.
+.
+.IP "\(bu" 4
+A folder with an \fBindex\.js\fR file in it\.
+.
+.IP "\(bu" 4
+A JavaScript file\.
+.
+.IP "" 0
+.
+.P
+Most npm packages are modules, because they are libraries that you
+load with \fBrequire\fR\|\. However, there\'s no requirement that an npm
+package be a module! Some only contain an executable command\-line
+interface, and don\'t provide a \fBmain\fR field for use in Node programs\.
+.
+.P
+Almost all npm packages (at least, those that are Node programs) \fIcontain\fR many modules within them (because every file they load with \fBrequire()\fR is a module)\.
+.
+.P
+In the context of a Node program, the \fBmodule\fR is also the thing that
+was loaded \fIfrom\fR a file\. For example, in the following program:
+.
+.IP "" 4
+.
+.nf
+var req = require(\'request\')
+.
+.fi
+.
+.IP "" 0
+.
+.P
+we might say that "The variable \fBreq\fR refers to the \fBrequest\fR module"\.
+.
+.SH "So, why is it the &quot;"
+The \fBpackage\.json\fR file defines the package\. (See "What is a
+package?" above\.)
+.
+.P
+The \fBnode_modules\fR folder is the place Node\.js looks for modules\.
+(See "What is a module?" above\.)
+.
+.P
+For example, if you create a file at \fBnode_modules/foo\.js\fR and then
+had a program that did \fBvar f = require(\'foo\.js\')\fR then it would load
+the module\. However, \fBfoo\.js\fR is not a "package" in this case,
+because it does not have a package\.json\.
+.
+.P
+Alternatively, if you create a package which does not have an \fBindex\.js\fR or a \fB"main"\fR field in the \fBpackage\.json\fR file, then it is
+not a module\. Even if it\'s installed in \fBnode_modules\fR, it can\'t be
+an argument to \fBrequire()\fR\|\.
+.
+.SH "<code>&quot;node_modules&quot;</code>"
+No\. This will never happen\. This question comes up sometimes,
+because it seems silly from the outside that npm couldn\'t just be
+configured to put stuff somewhere else, and then npm could load them
+from there\. It\'s an arbitrary spelling choice, right? What\'s the big
+deal?
+.
+.P
+At the time of this writing, the string \fB\'node_modules\'\fR appears 151
+times in 53 separate files in npm and node core (excluding tests and
+documentation)\.
+.
+.P
+Some of these references are in node\'s built\-in module loader\. Since
+npm is not involved \fBat all\fR at run\-time, node itself would have to
+be configured to know where you\'ve decided to stick stuff\. Complexity
+hurdle #1\. Since the Node module system is locked, this cannot be
+changed, and is enough to kill this request\. But I\'ll continue, in
+deference to your deity\'s delicate feelings regarding spelling\.
+.
+.P
+Many of the others are in dependencies that npm uses, which are not
+necessarily tightly coupled to npm (in the sense that they do not read
+npm\'s configuration files, etc\.) Each of these would have to be
+configured to take the name of the \fBnode_modules\fR folder as a
+parameter\. Complexity hurdle #2\.
+.
+.P
+Furthermore, npm has the ability to "bundle" dependencies by adding
+the dep names to the \fB"bundledDependencies"\fR list in package\.json,
+which causes the folder to be included in the package tarball\. What
+if the author of a module bundles its dependencies, and they use a
+different spelling for \fBnode_modules\fR? npm would have to rename the
+folder at publish time, and then be smart enough to unpack it using
+your locally configured name\. Complexity hurdle #3\.
+.
+.P
+Furthermore, what happens when you \fIchange\fR this name? Fine, it\'s
+easy enough the first time, just rename the \fBnode_modules\fR folders to \fB\|\./blergyblerp/\fR or whatever name you choose\. But what about when you
+change it again? npm doesn\'t currently track any state about past
+configuration settings, so this would be rather difficult to do
+properly\. It would have to track every previous value for this
+config, and always accept any of them, or else yesterday\'s install may
+be broken tomorrow\. Complexity hurdle #5\.
+.
+.P
+Never going to happen\. The folder is named \fBnode_modules\fR\|\. It is
+written indelibly in the Node Way, handed down from the ancient times
+of Node 0\.3\.
+.
.SH "How do I install node with npm?"
You don\'t\. Try one of these node version managers:
.
@@ -335,10 +395,6 @@ See \fBnpm help link\fR
.SH "The package registry website\. What is that exactly?"
See \fBnpm help registry\fR\|\.
.
-.SH "What&#39;s up with the insecure channel warnings?"
-Until node 0\.4\.10, there were problems sending big files over HTTPS\. That
-means that publishes go over HTTP by default in those versions of node\.
-.
.SH "I forgot my password, and can&#39;t publish\. How do I reset it?"
Go to \fIhttps://npmjs\.org/forgot\fR\|\.
.
@@ -351,8 +407,9 @@ in a web browser\. This will also tell you if you are just unable to
access the internet for some reason\.
.
.P
-If the registry IS down, let me know by emailing or posting an issue\.
-We\'ll have someone kick it or something\.
+If the registry IS down, let me know by emailing \fIi@izs\.me\fR or posting
+an issue at \fIhttps://github\.com/isaacs/npm/issues\fR\|\. We\'ll have
+someone kick it or something\.
.
.SH "Why no namespaces?"
Please see this discussion: \fIhttps://github\.com/isaacs/npm/issues/798\fR
@@ -371,10 +428,7 @@ There is not sufficient need to impose namespace rules on everyone\.
\fBnpm view npm contributors\fR
.
.SH "I have a question or request not addressed here\. Where should I put it?"
-Discuss it on the mailing list, or post an issue\.
-.
-.IP "\(bu" 4
-\fInpm\-@googlegroups\.com\fR
+Post an issue on the github project:
.
.IP "\(bu" 4
\fIhttps://github\.com/isaacs/npm/issues\fR
diff --git a/deps/npm/man/man1/ls.1 b/deps/npm/man/man1/ls.1
index 54eedd407d..444fa69d7d 100644
--- a/deps/npm/man/man1/ls.1
+++ b/deps/npm/man/man1/ls.1
@@ -29,7 +29,7 @@ For example, running \fBnpm ls promzard\fR in npm\'s source tree will show:
.IP "" 4
.
.nf
-npm@1.2.30 /path/to/npm
+npm@1.2.32 /path/to/npm
└─┬ init\-package\-json@0\.0\.4
└── promzard@0\.1\.5
.
diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1
index 6ba3a39b6d..09a4379ebe 100644
--- a/deps/npm/man/man1/npm.1
+++ b/deps/npm/man/man1/npm.1
@@ -14,7 +14,7 @@ npm <command> [args]
.fi
.
.SH "VERSION"
-1.2.30
+1.2.32
.
.SH "DESCRIPTION"
npm is the package manager for the Node JavaScript platform\. It puts
diff --git a/deps/npm/man/man3/npm.3 b/deps/npm/man/man3/npm.3
index 27bfe8a5f5..a2f2d79983 100644
--- a/deps/npm/man/man3/npm.3
+++ b/deps/npm/man/man3/npm.3
@@ -21,7 +21,7 @@ npm\.load([configObject,] function (er, npm) {
.fi
.
.SH "VERSION"
-1.2.30
+1.2.32
.
.SH "DESCRIPTION"
This is the API documentation for npm\.
diff --git a/deps/npm/node_modules/init-package-json/init-package-json.js b/deps/npm/node_modules/init-package-json/init-package-json.js
index dafc4d3245..2600e77b0a 100644
--- a/deps/npm/node_modules/init-package-json/init-package-json.js
+++ b/deps/npm/node_modules/init-package-json/init-package-json.js
@@ -78,8 +78,18 @@ function init (dir, input, config, cb) {
pkg = unParsePeople(pkg)
// no need for the readme now.
delete pkg.readme
+ delete pkg.readmeFilename
+
// really don't want to have this lying around in the file
delete pkg._id
+
+ // ditto
+ delete pkg.gitHead
+
+ // if the repo is empty, remove it.
+ if (!pkg.repository)
+ delete pkg.repository
+
var d = JSON.stringify(pkg, null, 2) + '\n'
console.log('About to write to %s:\n\n%s\n', package, d)
read({prompt:'Is this ok? ', default: 'yes'}, function (er, ok) {
diff --git a/deps/npm/node_modules/init-package-json/package.json b/deps/npm/node_modules/init-package-json/package.json
index c0301ff02a..a89ec7ec29 100644
--- a/deps/npm/node_modules/init-package-json/package.json
+++ b/deps/npm/node_modules/init-package-json/package.json
@@ -1,6 +1,6 @@
{
"name": "init-package-json",
- "version": "0.0.8",
+ "version": "0.0.9",
"main": "init-package-json.js",
"scripts": {
"test": "tap test/*.js"
@@ -41,6 +41,6 @@
"bugs": {
"url": "https://github.com/isaacs/init-package-json/issues"
},
- "_id": "init-package-json@0.0.8",
+ "_id": "init-package-json@0.0.9",
"_from": "init-package-json@latest"
}
diff --git a/deps/npm/node_modules/normalize-package-data/.npmignore b/deps/npm/node_modules/normalize-package-data/.npmignore
new file mode 100644
index 0000000000..096746c148
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/.npmignore
@@ -0,0 +1 @@
+/node_modules/ \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/.travis.yml b/deps/npm/node_modules/normalize-package-data/.travis.yml
new file mode 100644
index 0000000000..2ca91f2895
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/.travis.yml
@@ -0,0 +1,4 @@
+language: node_js
+node_js:
+ - "0.10"
+ - "0.8" \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/AUTHORS b/deps/npm/node_modules/normalize-package-data/AUTHORS
new file mode 100644
index 0000000000..c64debf745
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/AUTHORS
@@ -0,0 +1,3 @@
+# Names sorted by how much code was originally theirs.
+Isaac Z. Schlueter <i@izs.me>
+Meryn Stol <merynstol@gmail.com> \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/LICENSE b/deps/npm/node_modules/normalize-package-data/LICENSE
new file mode 100644
index 0000000000..9cea2e3c96
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/LICENSE
@@ -0,0 +1,30 @@
+This package contains code originally written by Isaac Z. Schlueter.
+Used with permission.
+
+Copyright (c) Meryn Stol ("Author")
+All rights reserved.
+
+The BSD License
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/deps/npm/node_modules/normalize-package-data/README.md b/deps/npm/node_modules/normalize-package-data/README.md
new file mode 100644
index 0000000000..71fa95065a
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/README.md
@@ -0,0 +1,81 @@
+# normalize-package-data [![Build Status](https://travis-ci.org/meryn/normalize-package-data.png?branch=master)](https://travis-ci.org/meryn/normalize-package-data)
+
+normalize-package data exports a function that normalizes package metadata. This data is typically found in a package.json file, but in principle could come from any source - for example the npm registry.
+
+normalize-package-data is used by [read-package-json](https://npmjs.org/package/read-package-json) to normalize the data it reads from a package.json file. In turn, read-package-json is used by [npm](https://npmjs.org/package/npm) and various npm-related tools.
+
+## Installation
+
+```
+npm install normalize-package-data
+```
+
+## Usage
+
+Basic usage is really simple. You call the function that normalize-package-data exports. Let's call it `normalizeData`.
+
+```javascript
+normalizeData = require('normalize-package-data')
+packageData = fs.readfileSync("package.json")
+normalizeData(packageData)
+// packageData is now normalized
+```
+
+Optionally, you may pass a "warning" function. It gets called whenever the normalizeData function encounters something that doesn't look right. It indicates less than perfect input data.
+
+```javascript
+normalizeData = require('normalize-package-data')
+packageData = fs.readfileSync("package.json")
+warnFn = function(msg) { console.error(msg) }
+normalizeData(packageData, warnFn)
+// packageData is now normalized. Any number of warnings may have been logged.
+```
+
+If you don't provide a warning function, `normalizeData` functions silently.
+
+### Potential exceptions
+
+If the supplied data has an invalid name or version vield, `normalizeData` will throw an error. Depending on where you call `normalizeData`, you may want to catch these errors so can pass them to a callback.
+
+## What normalization (currently) entails
+
+* The value of `name` field gets trimmed.
+* The value of the `version` field gets cleaned by `semver.clean`. See [documentation for the semver module](https://github.com/isaacs/node-semver).
+* If `name` and/or `version` fields are missing, they are set to empty strings.
+* If `files` field is not an array, it will be removed.
+* If `bin` field is a string, then `bin` field will become an object with `name` set to the value of the `name` field, and `bin` set to the original string value.
+* If `man` field is a string, it will become an array with the original string as its sole member.
+* If `keywords` field is string, it is considered to be a list of keywords separated by one or more white-space characters. It gets converted to an array by splitting on `\s+`.
+* All people fields (`author`, `maintainers`, `contributors`) get converted into objects with name, email and url properties.
+* If `bundledDependencies` field (a typo) exists and `bundleDependencies` field does not, `bundledDependencies` will get renamed to `bundleDependencies`.
+* If the value of any of the dependencies fields (`dependencies`, `devDependencies`, `optionalDependencies`) is a string, it gets converted into an object with familiar `name=>value` pairs.
+* The values in `optionalDependencies` get added to `dependencies`. The `optionalDependencies` array is left untouched.
+* If `description` field does not exists, but `readme` field does, then (more or less) the first paragraph of text that's found in the readme is taken as value for `description`.
+* If `repository` field is a string, it will become an object with `url` set to the original string value, and `type` set to `"git"`.
+* If `bugs` field is a string, the value of `bugs` field is changed into an object with `url` set to the original string value.
+* If `bugs` field does not exist, but `repository` field points to a repository hosted on GitHub, the value of the `bugs` field gets set to an url in the form of https://github.com/[owner-name]/[repo-name]/issues . If the repository field points to a GitHub Gist repo url, the associated http url is chosen.
+* If `bugs` field is an object, the resulting value only has email and url properties. If email and url properties are not strings, they are ignored. If no valid values for either email or url is found, bugs field will be removed.
+* If `homepage` field is not a string, it will be removed.
+* If the url in the `homepage` field does not specify a protocol, then http is assumed. For example, `myproject.org` will be changed to `http://myproject.org`.
+
+### Rules for name field
+
+If `name` field is given, the value of the name field must be a string. The string may not:
+
+* start with a period.
+* contain the following characters: `/@\s+%`
+* contain and characters that would need to be encoded for use in urls.
+* resemble the word `node_modules` or `favicon.ico` (case doesn't matter).
+
+### Rules for version field
+
+If `version` field is given, the value of the version field must be a valid *semver* string, as determined by the `semver.valid` method. See [documentation for the semver module](https://github.com/isaacs/node-semver).
+
+## Credits
+
+This package contains code based on read-package-json written by Isaac Z. Schlueter. Used with permisson.
+
+## License
+
+normalize-package-data is released under the [BSD 2-Clause License](http://opensource.org/licenses/MIT).
+Copyright (c) 2013 Meryn Stol \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/lib/extract_description.js b/deps/npm/node_modules/normalize-package-data/lib/extract_description.js
new file mode 100644
index 0000000000..dbeef218bf
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/lib/extract_description.js
@@ -0,0 +1,13 @@
+module.exports = extractDescription
+
+// Extracts description from contents of a readme file in markdown format
+function extractDescription (d) {
+ if (!d) return;
+ // the first block of text before the first heading
+ // that isn't the first line heading
+ d = d.trim().split('\n')
+ for (var s = 0; d[s] && d[s].trim().match(/^(#|$)/); s ++);
+ var l = d.length
+ for (var e = s + 1; e < l && d[e].trim(); e ++);
+ return d.slice(s, e).join(' ').trim()
+}
diff --git a/deps/npm/node_modules/normalize-package-data/lib/fixer.js b/deps/npm/node_modules/normalize-package-data/lib/fixer.js
new file mode 100644
index 0000000000..b4bd5276c9
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/lib/fixer.js
@@ -0,0 +1,253 @@
+var semver = require("semver")
+var parseGitHubURL = require("github-url-from-git")
+var depTypes = ["dependencies","devDependencies","optionalDependencies"]
+var extractDescription = require("./extract_description")
+var url = require("url")
+
+var fixer = module.exports = {
+ fixRepositoryField: function(data) {
+ if (data.repositories) {
+ this.warn("'repositories' (plural) Not supported.\n" +
+ "Please pick one as the 'repository' field");
+ data.repository = data.repositories[0]
+ }
+ if (!data.repository) return;
+ if (typeof data.repository === "string") {
+ data.repository = {
+ type: "git",
+ url: data.repository
+ }
+ }
+ var r = data.repository.url || ""
+ if (r) {
+ var ghurl = parseGitHubURL(r)
+ if (ghurl) {
+ r = ghurl.replace(/^https?:\/\//, 'git://')
+ }
+ }
+
+ if (r.match(/github.com\/[^\/]+\/[^\/]+\.git\.git$/)) {
+ this.warn("Probably broken git url: " + r)
+ }
+ }
+
+, fixFilesField: function(data) {
+ var files = data.files
+ if (files && !Array.isArray(files)) {
+ this.warn("Invalid 'files' member")
+ delete data.files
+ }
+ }
+
+, fixBinField: function(data) {
+ if (!data.bin) return;
+ if (typeof data.bin === "string") {
+ var b = {}
+ b[data.name] = data.bin
+ data.bin = b
+ }
+ }
+
+, fixManField: function(data) {
+ if (!data.man) return;
+ if (typeof data.man === "string") {
+ data.man = [ data.man ]
+ }
+ }
+, fixBundleDependenciesField: function(data) {
+ var bdd = "bundledDependencies"
+ var bd = "bundleDependencies"
+ if (data[bdd] && !data[bd]) {
+ data[bd] = data[bdd]
+ delete data[bdd]
+ }
+ }
+
+, fixDependencies: function(data) {
+ objectifyDeps(data, this.warn)
+ addOptionalDepsToDeps(data, this.warn)
+ this.fixBundleDependenciesField(data)
+ }
+
+, fixKeywordsField: function (data, warn) {
+ if (typeof data.keywords === "string") {
+ data.keywords = data.keywords.split(/,\s+/)
+ }
+ }
+
+, fixVersionField: function(data) {
+ if (!data.version) {
+ data.version = ""
+ return true
+ }
+ if (!semver.valid(data.version)) {
+ throw new Error("invalid version: "+ data.version)
+ }
+ data.version = semver.clean(data.version)
+ return true
+ }
+
+, fixPeople: function(data) {
+ modifyPeople(data, unParsePerson)
+ modifyPeople(data, parsePerson)
+ }
+
+, fixNameField: function(data) {
+ if (!data.name) {
+ data.name = ""
+ return true
+ }
+ if (typeof data.name !== "string") {
+ throw new Error("name field must be a string.")
+ }
+ data.name = data.name.trim()
+ ensureValidName(data.name)
+ }
+
+
+, fixDescriptionField: function (data) {
+ if (data.description && typeof data.description !== 'string') {
+ this.warn("'description' field should be a string")
+ delete data.description
+ }
+ if (data.readme && !data.description)
+ data.description = extractDescription(data.readme)
+ }
+
+, fixReadmeField: function (data) {
+ if (!data.readme) data.readme = "ERROR: No README data found!"
+ }
+
+, fixBugsField: function(data) {
+ if (!data.bugs && data.repository && data.repository.url) {
+ var gh = parseGitHubURL(data.repository.url)
+ if(gh) {
+ if(gh.match(/^https:\/\/github.com\//))
+ data.bugs = {url: gh + "/issues"}
+ else // gist url
+ data.bugs = {url: gh}
+ }
+ }
+ else if(data.bugs) {
+ var emailRe = /^.+@.*\..+$/
+ if(typeof data.bugs == "string") {
+ if(emailRe.test(data.bugs))
+ data.bugs = {email:data.bugs}
+ else if(url.parse(data.bugs).protocol)
+ data.bugs = {url: data.bugs}
+ else
+ this.warn("Bug string field must be url, email, or {email,url}")
+ }
+ else {
+ var oldBugs = data.bugs
+ data.bugs = {}
+ if(oldBugs.url) {
+ if(typeof(oldBugs.url) == "string" && url.parse(oldBugs.url).protocol)
+ data.bugs.url = oldBugs.url
+ else
+ this.warn("bugs.url field must be a string url. Deleted.")
+ }
+ if(oldBugs.email) {
+ if(typeof(oldBugs.email) == "string" && emailRe.test(oldBugs.email))
+ data.bugs.email = oldBugs.email
+ else
+ this.warn("bugs.email field must be a string email. Deleted.")
+ }
+ }
+ if(!data.bugs.email && !data.bugs.url) {
+ delete data.bugs
+ this.warn("Normalized value of bugs field is an empty object. Deleted.")
+ }
+ }
+ }
+
+, fixHomepageField: function(data) {
+ if(!data.homepage) return true;
+ if(typeof data.homepage !== "string") {
+ this.warn("homepage field must be a string url. Deleted.")
+ return delete data.homepage
+ }
+ if(!url.parse(data.homepage).protocol) {
+ this.warn("homepage field must start with a protocol.")
+ data.homepage = "http://" + data.homepage
+ }
+ }
+}
+
+function ensureValidName (name) {
+ if (name.charAt(0) === "." ||
+ name.match(/[\/@\s\+%:]/) ||
+ name !== encodeURIComponent(name) ||
+ name.toLowerCase() === "node_modules" ||
+ name.toLowerCase() === "favicon.ico") {
+ throw new Error("Invalid name: " + JSON.stringify(name))
+ }
+}
+
+function modifyPeople (data, fn) {
+ if (data.author) data.author = fn(data.author)
+ ;["maintainers", "contributors"].forEach(function (set) {
+ if (!Array.isArray(data[set])) return;
+ data[set] = data[set].map(fn)
+ })
+ return data
+}
+
+function unParsePerson (person) {
+ if (typeof person === "string") return person
+ var name = person.name || ""
+ var u = person.url || person.web
+ var url = u ? (" ("+u+")") : ""
+ var e = person.email || person.mail
+ var email = e ? (" <"+e+">") : ""
+ return name+email+url
+}
+
+function parsePerson (person) {
+ if (typeof person !== "string") return person
+ var name = person.match(/^([^\(<]+)/)
+ var url = person.match(/\(([^\)]+)\)/)
+ var email = person.match(/<([^>]+)>/)
+ var obj = {}
+ if (name && name[0].trim()) obj.name = name[0].trim()
+ if (email) obj.email = email[1];
+ if (url) obj.url = url[1];
+ return obj
+}
+
+function addOptionalDepsToDeps (data, warn) {
+ var o = data.optionalDependencies
+ if (!o) return;
+ var d = data.dependencies || {}
+ Object.keys(o).forEach(function (k) {
+ d[k] = o[k]
+ })
+ data.dependencies = d
+}
+
+function depObjectify (deps) {
+ if (!deps) return {}
+ if (typeof deps === "string") {
+ deps = deps.trim().split(/[\n\r\s\t ,]+/)
+ }
+ if (!Array.isArray(deps)) return deps
+ var o = {}
+ deps.filter(function (d) {
+ return typeof d === "string"
+ }).forEach(function(d) {
+ d = d.trim().split(/(:?[@\s><=])/)
+ var dn = d.shift()
+ var dv = d.join("")
+ dv = dv.trim()
+ dv = dv.replace(/^@/, "")
+ o[dn] = dv
+ })
+ return o
+}
+
+function objectifyDeps (data, warn) {
+ depTypes.forEach(function (type) {
+ if (!data[type]) return;
+ data[type] = depObjectify(data[type])
+ })
+}
diff --git a/deps/npm/node_modules/normalize-package-data/lib/is_valid.js b/deps/npm/node_modules/normalize-package-data/lib/is_valid.js
new file mode 100644
index 0000000000..509fab4916
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/lib/is_valid.js
@@ -0,0 +1,58 @@
+// a warning for deprecated or likely-incorrect fields
+
+module.exports = isValid
+
+var typos = require("./typos")
+
+function isValid (data, warnFunc) {
+ var hasWarned = false
+ function warn(msg) {
+ hasWarned = true
+ if(warnFunc) warnFunc(msg)
+ }
+ if (data.modules) warn("'modules' is deprecated")
+ Object.keys(typos.topLevel).forEach(function (d) {
+ if (data.hasOwnProperty(d)) {
+ warn(makeTypoWarning(d, typos.topLevel[d]))
+ }
+ })
+ checkBugsField(data.bugs, warn)
+ checkScriptsField(data.scripts, warn)
+ if (!data.repository) warn("No repository field.")
+ if (!data.readme) warn("No readme data.")
+ if (data.description && typeof data.description !== 'string') {
+ warn("'description' field should be a string")
+ }
+ if (data[data.bundledDependencies] &&
+ !Array.isArray(data.bundleDependencies)) {
+ warn("bundleDependencies must be an array")
+ }
+ return !hasWarned
+}
+
+function checkBugsField (bugs, warn) {
+ if (!bugs || typeof bugs !== "object") return
+ Object.keys(bugs).forEach(function (k) {
+ if (typos.bugs[k]) {
+ bugs[typos.bugs[k]] = bugs[k]
+ delete bugs[k]
+ }
+ })
+}
+
+function checkScriptsField (scripts, warn) {
+ if (!scripts || typeof scripts !== "object") return
+ Object.keys(scripts).forEach(function (k) {
+ if (typos.script[k]) {
+ warn(makeTypoWarning(k, typos.script[k], "scripts"))
+ }
+ })
+}
+
+function makeTypoWarning (providedName, probableName, field) {
+ if (field) {
+ providedName = field + "['" + providedName + "']"
+ probableName = field + "['" + probableName + "']"
+ }
+ return providedName + " should probably be " + probableName + "."
+}
diff --git a/deps/npm/node_modules/normalize-package-data/lib/normalize.js b/deps/npm/node_modules/normalize-package-data/lib/normalize.js
new file mode 100644
index 0000000000..336334a479
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/lib/normalize.js
@@ -0,0 +1,36 @@
+module.exports = normalize
+
+var isValid = require("./is_valid")
+var fixer = require("./fixer")
+
+var fieldsToFix = ['name','version','description','repository'
+ ,'files','bin','man','bugs','keywords','readme','homepage']
+var otherThingsToFix = ['dependencies','people']
+
+var thingsToFix = fieldsToFix.map(function(fieldName) {
+ return ucFirst(fieldName) + "Field"
+})
+// two ways to do this in CoffeeScript on only one line, sub-70 chars:
+// thingsToFix = fieldsToFix.map (name) -> ucFirst(name) + "Field"
+// thingsToFix = (ucFirst(name) + "Field" for name in fieldsToFix)
+thingsToFix = thingsToFix.concat(otherThingsToFix)
+
+function normalize (data, warn) {
+ if(!warn) warn = function(msg) { /* noop */ }
+ isValid(data, warn) // don't care if it's valid, we'll make it valid
+ if (data.scripts &&
+ data.scripts.install === "node-gyp rebuild" &&
+ !data.scripts.preinstall) {
+ data.gypfile = true
+ }
+ fixer.warn = warn
+ thingsToFix.forEach(function(thingName) {
+ fixer["fix" + ucFirst(thingName)](data)
+ })
+ data._id = data.name + "@" + data.version
+ if (data.modules) delete data.modules // modules field is deprecated
+}
+
+function ucFirst (string) {
+ return string.charAt(0).toUpperCase() + string.slice(1);
+}
diff --git a/deps/npm/node_modules/normalize-package-data/lib/typos.json b/deps/npm/node_modules/normalize-package-data/lib/typos.json
new file mode 100644
index 0000000000..dd2ec6614c
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/lib/typos.json
@@ -0,0 +1,23 @@
+{
+ "topLevel": {
+ "dependancies": "dependencies"
+ ,"dependecies": "dependencies"
+ ,"depdenencies": "dependencies"
+ ,"devEependencies": "devDependencies"
+ ,"depends": "dependencies"
+ ,"dev-dependencies": "devDependencies"
+ ,"devDependences": "devDependencies"
+ ,"devDepenencies": "devDependencies"
+ ,"devdependencies": "devDependencies"
+ ,"repostitory": "repository"
+ ,"prefereGlobal": "preferGlobal"
+ ,"hompage": "homepage"
+ ,"hampage": "homepage"
+ ,"autohr": "author"
+ ,"autor": "author"
+ ,"contributers": "contributors"
+ ,"publicationConfig": "publishConfig"
+ },
+ "bugs": { "web": "url", "name": "url" },
+ "script": { "server": "start", "tests": "test" }
+} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/.npmignore b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/.npmignore
new file mode 100644
index 0000000000..3c3629e647
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/.npmignore
@@ -0,0 +1 @@
+node_modules
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/History.md b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/History.md
new file mode 100644
index 0000000000..fcb296bc68
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/History.md
@@ -0,0 +1,10 @@
+
+1.1.1 / 2013-04-23
+==================
+
+ * package.json: Move test stuff to devDeps
+
+1.1.0 / 2013-04-19
+==================
+
+ * Add support for gist urls
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/Makefile b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/Makefile
new file mode 100644
index 0000000000..37f330e81b
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/Makefile
@@ -0,0 +1,5 @@
+
+test:
+ @./node_modules/.bin/mocha test.js --reporter spec --require should
+
+.PHONY: test
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/Readme.md b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/Readme.md
new file mode 100644
index 0000000000..d027e8ec66
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/Readme.md
@@ -0,0 +1,41 @@
+
+# github-url-from-git
+
+```js
+describe('parse(url)', function(){
+ it('should support git://*', function(){
+ var url = 'git://github.com/jamesor/mongoose-versioner';
+ parse(url).should.equal('https://github.com/jamesor/mongoose-versioner');
+ })
+
+ it('should support git://*.git', function(){
+ var url = 'git://github.com/treygriffith/cellar.git';
+ parse(url).should.equal('https://github.com/treygriffith/cellar');
+ })
+
+ it('should support https://*', function(){
+ var url = 'https://github.com/Empeeric/i18n-node';
+ parse(url).should.equal('https://github.com/Empeeric/i18n-node');
+ })
+
+ it('should support https://*.git', function(){
+ var url = 'https://jpillora@github.com/banchee/tranquil.git';
+ parse(url).should.equal('https://github.com/banchee/tranquil');
+ })
+
+ it('should return undefined on failure', function(){
+ var url = 'git://github.com/justgord/.git';
+ assert(null == parse(url));
+ })
+
+ it('should parse git@gist urls', function() {
+ var url = 'git@gist.github.com:3135914.git';
+ parse(url).should.equal('https://gist.github.com/3135914')
+ })
+
+ it('should parse https://gist urls', function() {
+ var url = 'https://gist.github.com/3135914.git';
+ parse(url).should.equal('https://gist.github.com/3135914')
+ })
+})
+```
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/index.js b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/index.js
new file mode 100644
index 0000000000..9ccc215f00
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/index.js
@@ -0,0 +1,12 @@
+var re = /^(?:https?:\/\/|git:\/\/)?(?:[^@]+@)?(gist.github.com|github.com)[:\/]([^\/]+\/[^\/]+?|[0-9]+)$/
+
+module.exports = function(url){
+ try {
+ var m = re.exec(url.replace(/\.git$/, ''));
+ var host = m[1];
+ var path = m[2];
+ return 'https://' + host + '/' + path;
+ } catch (err) {
+ // ignore
+ }
+};
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/package.json b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/package.json
new file mode 100644
index 0000000000..923045414d
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/package.json
@@ -0,0 +1,27 @@
+{
+ "name": "github-url-from-git",
+ "version": "1.1.1",
+ "description": "Parse a github git url and return the github repo url",
+ "main": "index.js",
+ "scripts": {
+ "test": "mocha test.js --reporter spec --require should"
+ },
+ "repository": "",
+ "keywords": [
+ "github",
+ "git",
+ "url",
+ "parser"
+ ],
+ "author": "",
+ "license": "MIT",
+ "devDependencies": {
+ "better-assert": "~1.0.0",
+ "mocha": "~1.9.0",
+ "should": "~1.2.2"
+ },
+ "readme": "\n# github-url-from-git\n\n```js\ndescribe('parse(url)', function(){\n it('should support git://*', function(){\n var url = 'git://github.com/jamesor/mongoose-versioner';\n parse(url).should.equal('https://github.com/jamesor/mongoose-versioner');\n })\n\n it('should support git://*.git', function(){\n var url = 'git://github.com/treygriffith/cellar.git';\n parse(url).should.equal('https://github.com/treygriffith/cellar');\n })\n\n it('should support https://*', function(){\n var url = 'https://github.com/Empeeric/i18n-node';\n parse(url).should.equal('https://github.com/Empeeric/i18n-node');\n })\n\n it('should support https://*.git', function(){\n var url = 'https://jpillora@github.com/banchee/tranquil.git';\n parse(url).should.equal('https://github.com/banchee/tranquil');\n })\n\n it('should return undefined on failure', function(){\n var url = 'git://github.com/justgord/.git';\n assert(null == parse(url));\n })\n\n it('should parse git@gist urls', function() {\n var url = 'git@gist.github.com:3135914.git';\n parse(url).should.equal('https://gist.github.com/3135914')\n })\n\n it('should parse https://gist urls', function() {\n var url = 'https://gist.github.com/3135914.git';\n parse(url).should.equal('https://gist.github.com/3135914')\n })\n})\n```\n",
+ "readmeFilename": "Readme.md",
+ "_id": "github-url-from-git@1.1.1",
+ "_from": "github-url-from-git@~1.1.1"
+}
diff --git a/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/test.js b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/test.js
new file mode 100644
index 0000000000..e472302a00
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/node_modules/github-url-from-git/test.js
@@ -0,0 +1,40 @@
+
+var parse = require('./');
+var assert = require('better-assert');
+
+describe('parse(url)', function(){
+ it('should support git://*', function(){
+ var url = 'git://github.com/jamesor/mongoose-versioner';
+ parse(url).should.equal('https://github.com/jamesor/mongoose-versioner');
+ })
+
+ it('should support git://*.git', function(){
+ var url = 'git://github.com/treygriffith/cellar.git';
+ parse(url).should.equal('https://github.com/treygriffith/cellar');
+ })
+
+ it('should support https://*', function(){
+ var url = 'https://github.com/Empeeric/i18n-node';
+ parse(url).should.equal('https://github.com/Empeeric/i18n-node');
+ })
+
+ it('should support https://*.git', function(){
+ var url = 'https://jpillora@github.com/banchee/tranquil.git';
+ parse(url).should.equal('https://github.com/banchee/tranquil');
+ })
+
+ it('should return undefined on failure', function(){
+ var url = 'git://github.com/justgord/.git';
+ assert(null == parse(url));
+ })
+
+ it('should parse git@gist urls', function() {
+ var url = 'git@gist.github.com:3135914.git';
+ parse(url).should.equal('https://gist.github.com/3135914')
+ })
+
+ it('should parse https://gist urls', function() {
+ var url = 'https://gist.github.com/3135914.git';
+ parse(url).should.equal('https://gist.github.com/3135914')
+ })
+})
diff --git a/deps/npm/node_modules/normalize-package-data/package.json b/deps/npm/node_modules/normalize-package-data/package.json
new file mode 100644
index 0000000000..2fdd036ae6
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/package.json
@@ -0,0 +1,47 @@
+{
+ "name": "normalize-package-data",
+ "version": "0.1.7",
+ "author": {
+ "name": "Meryn Stol",
+ "email": "merynstol@gmail.com"
+ },
+ "description": "Normalizes data that can be found in package.json files.",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/meryn/normalize-package-data.git"
+ },
+ "main": "lib/normalize.js",
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "dependencies": {
+ "semver": "1.x",
+ "github-url-from-git": "~1.1.1"
+ },
+ "devDependencies": {
+ "tap": "~0.2.5",
+ "underscore": "~1.4.4",
+ "async": "~0.2.7"
+ },
+ "contributors": [
+ {
+ "name": "Isaac Z. Schlueter",
+ "email": "i@izs.me"
+ },
+ {
+ "name": "Meryn Stol",
+ "email": "merynstol@gmail.com"
+ }
+ ],
+ "readme": "# normalize-package-data [![Build Status](https://travis-ci.org/meryn/normalize-package-data.png?branch=master)](https://travis-ci.org/meryn/normalize-package-data)\n\nnormalize-package data exports a function that normalizes package metadata. This data is typically found in a package.json file, but in principle could come from any source - for example the npm registry.\n\nnormalize-package-data is used by [read-package-json](https://npmjs.org/package/read-package-json) to normalize the data it reads from a package.json file. In turn, read-package-json is used by [npm](https://npmjs.org/package/npm) and various npm-related tools.\n\n## Installation\n\n```\nnpm install normalize-package-data\n```\n\n## Usage\n\nBasic usage is really simple. You call the function that normalize-package-data exports. Let's call it `normalizeData`.\n\n```javascript\nnormalizeData = require('normalize-package-data')\npackageData = fs.readfileSync(\"package.json\")\nnormalizeData(packageData)\n// packageData is now normalized\n```\n\nOptionally, you may pass a \"warning\" function. It gets called whenever the normalizeData function encounters something that doesn't look right. It indicates less than perfect input data.\n\n```javascript\nnormalizeData = require('normalize-package-data')\npackageData = fs.readfileSync(\"package.json\")\nwarnFn = function(msg) { console.error(msg) }\nnormalizeData(packageData, warnFn)\n// packageData is now normalized. Any number of warnings may have been logged.\n```\n\nIf you don't provide a warning function, `normalizeData` functions silently.\n\n### Potential exceptions\n\nIf the supplied data has an invalid name or version vield, `normalizeData` will throw an error. Depending on where you call `normalizeData`, you may want to catch these errors so can pass them to a callback.\n\n## What normalization (currently) entails\n\n* The value of `name` field gets trimmed.\n* The value of the `version` field gets cleaned by `semver.clean`. See [documentation for the semver module](https://github.com/isaacs/node-semver).\n* If `name` and/or `version` fields are missing, they are set to empty strings.\n* If `files` field is not an array, it will be removed.\n* If `bin` field is a string, then `bin` field will become an object with `name` set to the value of the `name` field, and `bin` set to the original string value.\n* If `man` field is a string, it will become an array with the original string as its sole member.\n* If `keywords` field is string, it is considered to be a list of keywords separated by one or more white-space characters. It gets converted to an array by splitting on `\\s+`.\n* All people fields (`author`, `maintainers`, `contributors`) get converted into objects with name, email and url properties.\n* If `bundledDependencies` field (a typo) exists and `bundleDependencies` field does not, `bundledDependencies` will get renamed to `bundleDependencies`.\n* If the value of any of the dependencies fields (`dependencies`, `devDependencies`, `optionalDependencies`) is a string, it gets converted into an object with familiar `name=>value` pairs.\n* The values in `optionalDependencies` get added to `dependencies`. The `optionalDependencies` array is left untouched.\n* If `description` field does not exists, but `readme` field does, then (more or less) the first paragraph of text that's found in the readme is taken as value for `description`.\n* If `repository` field is a string, it will become an object with `url` set to the original string value, and `type` set to `\"git\"`.\n* If `bugs` field is a string, the value of `bugs` field is changed into an object with `url` set to the original string value.\n* If `bugs` field does not exist, but `repository` field points to a repository hosted on GitHub, the value of the `bugs` field gets set to an url in the form of https://github.com/[owner-name]/[repo-name]/issues . If the repository field points to a GitHub Gist repo url, the associated http url is chosen.\n* If `bugs` field is an object, the resulting value only has email and url properties. If email and url properties are not strings, they are ignored. If no valid values for either email or url is found, bugs field will be removed.\n* If `homepage` field is not a string, it will be removed.\n* If the url in the `homepage` field does not specify a protocol, then http is assumed. For example, `myproject.org` will be changed to `http://myproject.org`.\n\n### Rules for name field\n\nIf `name` field is given, the value of the name field must be a string. The string may not:\n\n* start with a period.\n* contain the following characters: `/@\\s+%`\n* contain and characters that would need to be encoded for use in urls.\n* resemble the word `node_modules` or `favicon.ico` (case doesn't matter).\n\n### Rules for version field\n\nIf `version` field is given, the value of the version field must be a valid *semver* string, as determined by the `semver.valid` method. See [documentation for the semver module](https://github.com/isaacs/node-semver).\n\n## Credits\n\nThis package contains code based on read-package-json written by Isaac Z. Schlueter. Used with permisson.\n\n## License\n\nnormalize-package-data is released under the [BSD 2-Clause License](http://opensource.org/licenses/MIT). \nCopyright (c) 2013 Meryn Stol ",
+ "readmeFilename": "README.md",
+ "bugs": {
+ "url": "https://github.com/meryn/normalize-package-data/issues"
+ },
+ "_id": "normalize-package-data@0.1.7",
+ "dist": {
+ "shasum": "8d3240084501de180f3cef9ea7708f9279d87445"
+ },
+ "_from": "normalize-package-data@0.1.7",
+ "_resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.1.7.tgz"
+}
diff --git a/deps/npm/node_modules/normalize-package-data/test/basic.js b/deps/npm/node_modules/normalize-package-data/test/basic.js
new file mode 100644
index 0000000000..12c403ec71
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/test/basic.js
@@ -0,0 +1,34 @@
+var tap = require("tap")
+var normalize = require("../lib/normalize")
+var path = require("path")
+var fs = require("fs")
+
+tap.test("basic test", function (t) {
+ var p = path.resolve(__dirname, "./fixtures/read-package-json.json")
+ fs.readFile (p, function (err, contents) {
+ if (err) throw err;
+ var originalData = JSON.parse(contents.toString())
+ var data = JSON.parse(contents.toString())
+ normalize(data)
+ t.ok(data)
+ verifyFields(t, data, originalData)
+ t.end()
+ })
+})
+
+function verifyFields (t, normalized, original) {
+ t.equal(normalized.version, original.version, "Version field stays same")
+ t.equal(normalized._id, normalized.name + "@" + normalized.version, "It gets good id.")
+ t.equal(normalized.name, original.name, "Name stays the same.")
+ t.type(normalized.author, "object", "author field becomes object")
+ t.deepEqual(normalized.scripts, original.scripts, "scripts field (object) stays same")
+ t.equal(normalized.main, original.main)
+ // optional deps are folded in.
+ t.deepEqual(normalized.optionalDependencies,
+ original.optionalDependencies)
+ t.has(normalized.dependencies, original.optionalDependencies, "opt depedencies are copied into dependencies")
+ t.has(normalized.dependencies, original.dependencies, "regular depedencies stay in place")
+ t.deepEqual(normalized.devDependencies, original.devDependencies)
+ t.type(normalized.bugs, "object", "bugs should become object")
+ t.equal(normalized.bugs.url, "https://github.com/isaacs/read-package-json/issues")
+}
diff --git a/deps/npm/node_modules/normalize-package-data/test/consistency.js b/deps/npm/node_modules/normalize-package-data/test/consistency.js
new file mode 100644
index 0000000000..8ae6b27301
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/test/consistency.js
@@ -0,0 +1,36 @@
+var tap = require("tap")
+var normalize = require("../lib/normalize")
+var path = require("path")
+var fs = require("fs")
+var _ = require("underscore")
+var async = require("async")
+
+var data, clonedData
+var warn
+
+tap.test("consistent normalization", function(t) {
+ path.resolve(__dirname, "./fixtures/read-package-json.json")
+ fs.readdir (__dirname + "/fixtures", function (err, entries) {
+ // entries = ['coffee-script.json'] // uncomment to limit to a specific file
+ verifyConsistency = function(entryName, next) {
+ warn = function(msg) {
+ // t.equal("",msg) // uncomment to have some kind of logging of warnings
+ }
+ filename = __dirname + "/fixtures/" + entryName
+ fs.readFile(filename, function(err, contents) {
+ if (err) return next(err)
+ data = JSON.parse(contents.toString())
+ normalize(data, warn)
+ clonedData = _.clone(data)
+ normalize(data, warn)
+ t.deepEqual(clonedData, data,
+ "Normalization of " + entryName + "is consistent.")
+ next(null)
+ }) // fs.readFile
+ } // verifyConsistency
+ async.forEach(entries, verifyConsistency, function(err) {
+ if (err) throw err
+ t.end()
+ })
+ }) // fs.readdir
+}) // tap.test \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/async.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/async.json
new file mode 100644
index 0000000000..5e652a6c6f
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/test/fixtures/async.json
@@ -0,0 +1,36 @@
+{
+ "name": "async",
+ "description": "Higher-order functions and common patterns for asynchronous code",
+ "main": "./lib/async",
+ "author": "Caolan McMahon",
+ "version": "0.2.6",
+ "repository" : {
+ "type" : "git",
+ "url" : "http://github.com/caolan/async.git"
+ },
+ "bugs" : {
+ "url" : "http://github.com/caolan/async/issues"
+ },
+ "licenses" : [
+ {
+ "type" : "MIT",
+ "url" : "http://github.com/caolan/async/raw/master/LICENSE"
+ }
+ ],
+ "devDependencies": {
+ "nodeunit": ">0.0.0",
+ "uglify-js": "1.2.x",
+ "nodelint": ">0.0.0"
+ },
+ "jam": {
+ "main": "lib/async.js",
+ "include": [
+ "lib/async.js",
+ "README.md",
+ "LICENSE"
+ ]
+ },
+ "scripts": {
+ "test": "nodeunit test/test-async.js"
+ }
+} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/bcrypt.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/bcrypt.json
new file mode 100644
index 0000000000..56e6d81b3d
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/test/fixtures/bcrypt.json
@@ -0,0 +1,56 @@
+{
+ "name": "bcrypt",
+ "description": "A bcrypt library for NodeJS.",
+ "keywords": [
+ "bcrypt",
+ "password",
+ "auth",
+ "authentication",
+ "encryption",
+ "crypt",
+ "crypto"
+ ],
+ "main": "./bcrypt",
+ "version": "0.7.5",
+ "author": "Nick Campbell (http://github.com/ncb000gt)",
+ "engines": {
+ "node": ">= 0.6.0"
+ },
+ "repository": {
+ "type": "git",
+ "url": "http://github.com/ncb000gt/node.bcrypt.js.git"
+ },
+ "licenses": [
+ {
+ "type": "MIT"
+ }
+ ],
+ "bugs": {
+ "url": "http://github.com/ncb000gt/node.bcrypt.js/issues"
+ },
+ "scripts": {
+ "test": "node-gyp configure build && nodeunit test"
+ },
+ "dependencies": {
+ "bindings": "1.0.0"
+ },
+ "devDependencies": {
+ "nodeunit": ">=0.6.4"
+ },
+ "contributors": [
+ "Antonio Salazar Cardozo <savedfastcool@gmail.com> (https://github.com/Shadowfiend)",
+ "Van Nguyen <the.gol.effect@gmail.com> (https://github.com/thegoleffect)",
+ "David Trejo <david@dtrejo.com> (https://github.com/dtrejo)",
+ "Ben Glow <glen.low@pixelglow.com> (https://github.com/pixelglow)",
+ "NewITFarmer.com <> (https://github.com/newitfarmer)",
+ "Alfred Westerveld <alfredwesterveld@gmail.com> (https://github.com/alfredwesterveld)",
+ "Vincent Côté-Roy <vincentcr@gmail.com> (https://github.com/vincentcr)",
+ "Lloyd Hilaiel <lloyd@hilaiel.com> (https://github.com/lloyd)",
+ "Roman Shtylman <shtylman@gmail.com> (https://github.com/shtylman)",
+ "Vadim Graboys <dimva13@gmail.com> (https://github.com/vadimg)",
+ "Ben Noorduis <> (https://github.com/bnoordhuis)",
+ "Nate Rajlich <nathan@tootallnate.net> (https://github.com/tootallnate)",
+ "Sean McArthur <sean.monstar@gmail.com> (https://github.com/seanmonstar)",
+ "Fanie Oosthuysen <fanie.oosthuysen@gmail.com> (https://github.com/weareu)"
+ ]
+} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/coffee-script.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/coffee-script.json
new file mode 100644
index 0000000000..a0b60a9d38
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/test/fixtures/coffee-script.json
@@ -0,0 +1,35 @@
+{
+ "name": "coffee-script",
+ "description": "Unfancy JavaScript",
+ "keywords": ["javascript", "language", "coffeescript", "compiler"],
+ "author": "Jeremy Ashkenas",
+ "version": "1.6.2",
+ "licenses": [{
+ "type": "MIT",
+ "url": "https://raw.github.com/jashkenas/coffee-script/master/LICENSE"
+ }],
+ "engines": {
+ "node": ">=0.8.0"
+ },
+ "directories" : {
+ "lib" : "./lib/coffee-script"
+ },
+ "main" : "./lib/coffee-script/coffee-script",
+ "bin": {
+ "coffee": "./bin/coffee",
+ "cake": "./bin/cake"
+ },
+ "scripts": {
+ "test": "node ./bin/cake test"
+ },
+ "homepage": "http://coffeescript.org",
+ "bugs": "https://github.com/jashkenas/coffee-script/issues",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/jashkenas/coffee-script.git"
+ },
+ "devDependencies": {
+ "uglify-js": "~2.2",
+ "jison": ">=0.2.0"
+ }
+} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/http-server.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/http-server.json
new file mode 100644
index 0000000000..90c28863a2
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/test/fixtures/http-server.json
@@ -0,0 +1,53 @@
+{
+ "name": "http-server",
+ "preferGlobal": true,
+ "version": "0.3.0",
+ "author": "Nodejitsu <support@nodejitsu.com>",
+ "description": "a simple zero-configuration command-line http server",
+ "contributors": [
+ {
+ "name": "Marak Squires",
+ "email": "marak@nodejitsu.com"
+ }
+ ],
+ "bin": {
+ "http-server": "./bin/http-server"
+ },
+ "scripts": {
+ "start": "node ./bin/http-server",
+ "test": "vows --spec --isolate",
+ "predeploy": "echo This will be run before deploying the app",
+ "postdeploy": "echo This will be run after deploying the app"
+ },
+ "main": "./lib/http-server",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/nodejitsu/http-server.git"
+ },
+ "keywords": [
+ "cli",
+ "http",
+ "server"
+ ],
+ "dependencies" : {
+ "colors" : "*",
+ "flatiron" : "0.1.x",
+ "optimist" : "0.2.x",
+ "union" : "0.1.x",
+ "ecstatic" : "0.1.x",
+ "plates" : "https://github.com/flatiron/plates/tarball/master"
+ },
+ "analyze": false,
+ "devDependencies": {
+ "vows" : "0.5.x",
+ "request" : "2.1.x"
+ },
+ "bundledDependencies": [
+ "union",
+ "ecstatic"
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.6"
+ }
+} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/movefile.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/movefile.json
new file mode 100644
index 0000000000..5933875702
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/test/fixtures/movefile.json
@@ -0,0 +1,21 @@
+{
+ "name": "movefile",
+ "description": "rename implementation working over devices",
+ "version": "0.2.0",
+ "author": "yazgazan <yazgazan@gmail.com>",
+ "main": "./build/Release/movefile",
+ "keywords": ["move", "file", "rename"],
+ "repository": "git://github.com/yazgazan/movefile.git",
+ "directories": {
+ "lib": "./build/Release/"
+ },
+ "scripts": {
+ "install": "./node_modules/node-gyp/bin/node-gyp.js configure && ./node_modules/node-gyp/bin/node-gyp.js build"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "dependencies": {
+ "node-gyp": "~0.9.1"
+ }
+} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/node-module_exist.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/node-module_exist.json
new file mode 100644
index 0000000000..acc0538252
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/test/fixtures/node-module_exist.json
@@ -0,0 +1,26 @@
+{
+ "name": "node-module_exist",
+ "description": "Find if a NodeJS module is available to require or not",
+ "version": "0.0.1",
+ "main": "module_exist.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git@gist.github.com:3135914.git"
+ },
+ "homepage": "https://github.com/FGRibreau",
+ "author": {
+ "name": "Francois-Guillaume Ribreau",
+ "url": "http://fgribreau.com.com/"
+ },
+ "devDependencies": {
+ "nodeunit": "~0.7.4"
+ },
+ "keywords": [
+ "core",
+ "modules"
+ ],
+ "license": "MIT"
+} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/npm.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/npm.json
new file mode 100644
index 0000000000..2262b3139d
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/test/fixtures/npm.json
@@ -0,0 +1,135 @@
+{
+ "version": "1.2.17",
+ "name": "npm",
+ "publishConfig": {
+ "proprietary-attribs": false
+ },
+ "description": "A package manager for node",
+ "keywords": [
+ "package manager",
+ "modules",
+ "install",
+ "package.json"
+ ],
+ "preferGlobal": true,
+ "config": {
+ "publishtest": false
+ },
+ "homepage": "https://npmjs.org/doc/",
+ "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me)",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/isaacs/npm"
+ },
+ "bugs": {
+ "email": "npm-@googlegroups.com",
+ "url": "http://github.com/isaacs/npm/issues"
+ },
+ "directories": {
+ "doc": "./doc",
+ "man": "./man",
+ "lib": "./lib",
+ "bin": "./bin"
+ },
+ "main": "./lib/npm.js",
+ "bin": "./bin/npm-cli.js",
+ "dependencies": {
+ "semver": "~1.1.2",
+ "ini": "~1.1.0",
+ "slide": "1",
+ "abbrev": "~1.0.4",
+ "graceful-fs": "~1.2.0",
+ "minimatch": "~0.2.11",
+ "nopt": "~2.1.1",
+ "rimraf": "2",
+ "request": "~2.9",
+ "which": "1",
+ "tar": "~0.1.17",
+ "fstream": "~0.1.22",
+ "block-stream": "*",
+ "inherits": "1",
+ "mkdirp": "~0.3.3",
+ "read": "~1.0.4",
+ "lru-cache": "~2.3.0",
+ "node-gyp": "~0.9.3",
+ "fstream-npm": "~0.1.3",
+ "uid-number": "0",
+ "archy": "0",
+ "chownr": "0",
+ "npmlog": "0",
+ "ansi": "~0.1.2",
+ "npm-registry-client": "~0.2.18",
+ "read-package-json": "~0.3.0",
+ "read-installed": "0",
+ "glob": "~3.1.21",
+ "init-package-json": "0.0.6",
+ "osenv": "0",
+ "lockfile": "~0.3.0",
+ "retry": "~0.6.0",
+ "once": "~1.1.1",
+ "npmconf": "0",
+ "opener": "~1.3.0",
+ "chmodr": "~0.1.0",
+ "cmd-shim": "~1.1.0"
+ },
+ "bundleDependencies": [
+ "semver",
+ "ini",
+ "slide",
+ "abbrev",
+ "graceful-fs",
+ "minimatch",
+ "nopt",
+ "rimraf",
+ "request",
+ "which",
+ "tar",
+ "fstream",
+ "block-stream",
+ "inherits",
+ "mkdirp",
+ "read",
+ "lru-cache",
+ "node-gyp",
+ "fstream-npm",
+ "uid-number",
+ "archy",
+ "chownr",
+ "npmlog",
+ "ansi",
+ "npm-registry-client",
+ "read-package-json",
+ "read-installed",
+ "glob",
+ "init-package-json",
+ "osenv",
+ "lockfile",
+ "retry",
+ "once",
+ "npmconf",
+ "opener",
+ "chmodr",
+ "cmd-shim"
+ ],
+ "devDependencies": {
+ "ronn": "~0.3.6",
+ "tap": "~0.4.0"
+ },
+ "engines": {
+ "node": ">=0.6",
+ "npm": "1"
+ },
+ "scripts": {
+ "test": "node ./test/run.js && tap test/tap/*.js",
+ "tap": "tap test/tap/*.js",
+ "prepublish": "node bin/npm-cli.js prune ; rm -rf test/*/*/node_modules ; make -j4 doc",
+ "dumpconf": "env | grep npm | sort | uniq",
+ "echo": "node bin/npm-cli.js"
+ },
+ "licenses": [
+ {
+ "type": "MIT +no-false-attribs",
+ "url": "https://github.com/isaacs/npm/raw/master/LICENSE"
+ }
+ ]
+} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/read-package-json.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/read-package-json.json
new file mode 100644
index 0000000000..f4a2b96f47
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/test/fixtures/read-package-json.json
@@ -0,0 +1,27 @@
+{
+ "name": "read-package-json",
+ "version": "0.1.1",
+ "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
+ "description": "The thing npm uses to read package.json files with semantics and defaults and validation",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/isaacs/read-package-json.git"
+ },
+ "main": "read-json.js",
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "dependencies": {
+ "glob": "~3.1.9",
+ "lru-cache": "~1.1.0",
+ "semver": "~1.0.14",
+ "slide": "~1.1.3"
+ },
+ "devDependencies": {
+ "tap": "~0.2.5"
+ },
+ "optionalDependencies": {
+ "npmlog": "0",
+ "graceful-fs": "~1.1.8"
+ }
+} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/request.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/request.json
new file mode 100644
index 0000000000..24189a551a
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/test/fixtures/request.json
@@ -0,0 +1,39 @@
+{
+ "name": "request",
+ "description": "Simplified HTTP request client.",
+ "tags": [
+ "http",
+ "simple",
+ "util",
+ "utility"
+ ],
+ "version": "2.16.7",
+ "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.8.0"
+ ],
+ "main": "index.js",
+ "dependencies": {
+ "form-data": "~0.0.3",
+ "mime": "~1.2.7",
+ "hawk": "~0.10.2",
+ "node-uuid": "~1.4.0",
+ "cookie-jar": "~0.2.0",
+ "aws-sign": "~0.2.0",
+ "oauth-sign": "~0.2.0",
+ "forever-agent": "~0.2.0",
+ "tunnel-agent": "~0.2.0",
+ "json-stringify-safe": "~3.0.0",
+ "qs": "~0.5.4"
+ },
+ "scripts": {
+ "test": "node tests/run.js"
+ }
+} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/fixtures/underscore.json b/deps/npm/node_modules/normalize-package-data/test/fixtures/underscore.json
new file mode 100644
index 0000000000..bfc8b3d26a
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/test/fixtures/underscore.json
@@ -0,0 +1,17 @@
+{
+ "name" : "underscore",
+ "description" : "JavaScript's functional programming helper library.",
+ "homepage" : "http://underscorejs.org",
+ "keywords" : ["util", "functional", "server", "client", "browser"],
+ "author" : "Jeremy Ashkenas <jeremy@documentcloud.org>",
+ "repository" : {"type": "git", "url": "git://github.com/documentcloud/underscore.git"},
+ "main" : "underscore.js",
+ "version" : "1.4.4",
+ "devDependencies": {
+ "phantomjs": "1.9.0-1"
+ },
+ "scripts": {
+ "test": "phantomjs test/vendor/runner.js test/index.html?noglobals=true"
+ },
+ "license" : "MIT"
+} \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/github-urls.js b/deps/npm/node_modules/normalize-package-data/test/github-urls.js
new file mode 100644
index 0000000000..fd68d76e2a
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/test/github-urls.js
@@ -0,0 +1,46 @@
+var tap = require("tap")
+var normalize = require("../lib/normalize")
+var path = require("path")
+var fs = require("fs")
+var _ = require("underscore")
+var async = require("async")
+
+var data, clonedData
+var warn
+
+tap.test("consistent normalization", function(t) {
+ entries = [
+ 'read-package-json.json',
+ 'http-server.json',
+ "movefile.json",
+ "node-module_exist.json"
+ ]
+ verifyConsistency = function(entryName, next) {
+ warn = function(msg) {
+ // t.equal("",msg) // uncomment to have some kind of logging of warnings
+ }
+ filename = __dirname + "/fixtures/" + entryName
+ fs.readFile(filename, function(err, contents) {
+ if (err) return next(err)
+ data = JSON.parse(contents.toString())
+ normalize(data, warn)
+ if(data.name == "node-module_exist") {
+ t.same(data.bugs.url, "https://gist.github.com/3135914")
+ }
+ if(data.name == "read-package-json") {
+ t.same(data.bugs.url, "https://github.com/isaacs/read-package-json/issues")
+ }
+ if(data.name == "http-server") {
+ t.same(data.bugs.url, "https://github.com/nodejitsu/http-server/issues")
+ }
+ if(data.name == "movefile") {
+ t.same(data.bugs.url, "https://github.com/yazgazan/movefile/issues")
+ }
+ next(null)
+ }) // fs.readFile
+ } // verifyConsistency
+ async.forEach(entries, verifyConsistency, function(err) {
+ if (err) throw err
+ t.end()
+ })
+}) // tap.test \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/normalize.js b/deps/npm/node_modules/normalize-package-data/test/normalize.js
new file mode 100644
index 0000000000..88dc84a6df
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/test/normalize.js
@@ -0,0 +1,129 @@
+var tap = require("tap")
+var fs = require("fs")
+var path = require("path")
+
+var globals = Object.keys(global)
+
+var normalize = require("../lib/normalize")
+
+var rpjPath = path.resolve(__dirname,"./fixtures/read-package-json.json")
+tap.test("normalize some package data", function(t) {
+ var packageData = require(rpjPath)
+ var warnings = []
+ normalize(packageData, function(warning) {
+ warnings.push(warning)
+ })
+ // there's no readme data in this particular object
+ t.equal( warnings.length, 1, "There's exactly one warning.")
+ fs.readFile(rpjPath, function(err, data) {
+ if(err) throw err
+ // Various changes have been made
+ t.notEqual(packageData, JSON.parse(data), "Output is different from input.")
+ t.end()
+ })
+})
+
+tap.test("runs without passing warning function", function(t) {
+ var packageData = require(rpjPath)
+ fs.readFile(rpjPath, function(err, data) {
+ if(err) throw err
+ normalize(JSON.parse(data))
+ t.ok(true, "If you read this, this means I'm still alive.")
+ t.end()
+ })
+})
+
+tap.test("empty object", function(t) {
+ var packageData = {}
+ var expect =
+ { name: '',
+ version: '',
+ readme: 'ERROR: No README data found!',
+ _id: '@' }
+
+ var warnings = []
+ function warn(m) {
+ warnings.push(m)
+ }
+ normalize(packageData, warn)
+ t.same(packageData, expect)
+ t.same(warnings, ["No repository field.","No readme data."])
+ t.end()
+})
+
+tap.test("urls required", function(t) {
+ var warnings = []
+ function warn(w) {
+ warnings.push(w)
+ }
+ normalize({
+ bugs: {
+ url: "/1",
+ email: "not an email address"
+ }
+ }, warn)
+ var a
+ normalize(a={
+ readme: "read yourself how about",
+ homepage: 123,
+ bugs: "what is this i don't even",
+ repository: "Hello."
+ }, warn)
+
+ console.error(a)
+
+ var expect =
+ [ 'No repository field.',
+ 'No readme data.',
+ 'bugs.url field must be a string url. Deleted.',
+ 'bugs.email field must be a string email. Deleted.',
+ 'Normalized value of bugs field is an empty object. Deleted.',
+ 'Bug string field must be url, email, or {email,url}',
+ 'Normalized value of bugs field is an empty object. Deleted.',
+ 'homepage field must be a string url. Deleted.' ]
+ t.same(warnings, expect)
+ t.end()
+})
+
+tap.test("homepage field must start with a protocol.", function(t) {
+ var warnings = []
+ function warn(w) {
+ warnings.push(w)
+ }
+ var a
+ normalize(a={
+ homepage: 'example.org'
+ }, warn)
+
+ console.error(a)
+
+ var expect =
+ [ 'No repository field.',
+ 'No readme data.',
+ 'homepage field must start with a protocol.' ]
+ t.same(warnings, expect)
+ t.same(a.homepage, 'http://example.org')
+ t.end()
+})
+
+tap.test("gist bugs url", function(t) {
+ var d = {
+ repository: "git@gist.github.com:123456.git"
+ }
+ normalize(d)
+ t.same(d.repository, { type: 'git', url: 'git@gist.github.com:123456.git' })
+ t.same(d.bugs, { url: 'https://gist.github.com/123456' })
+ t.end();
+});
+
+tap.test('no new globals', function(t) {
+ t.same(Object.keys(global), globals)
+ t.end()
+})
+
+tap.test("singularize repositories", function(t) {
+ d = {repositories:["git@gist.github.com:123456.git"]}
+ normalize(d)
+ t.same(d.repository, { type: 'git', url: 'git@gist.github.com:123456.git' })
+ t.end()
+}); \ No newline at end of file
diff --git a/deps/npm/node_modules/normalize-package-data/test/typo.js b/deps/npm/node_modules/normalize-package-data/test/typo.js
new file mode 100644
index 0000000000..d7d3af0e24
--- /dev/null
+++ b/deps/npm/node_modules/normalize-package-data/test/typo.js
@@ -0,0 +1,67 @@
+var test = require('tap').test
+var normalize = require('../')
+var typos = require('../lib/typos.json')
+
+test('typos', function(t) {
+ var warnings = []
+ function warn(m) {
+ warnings.push(m)
+ }
+
+ var expect =
+ [ 'dependancies should probably be dependencies.',
+ 'dependecies should probably be dependencies.',
+ 'depdenencies should probably be dependencies.',
+ 'devEependencies should probably be devDependencies.',
+ 'depends should probably be dependencies.',
+ 'dev-dependencies should probably be devDependencies.',
+ 'devDependences should probably be devDependencies.',
+ 'devDepenencies should probably be devDependencies.',
+ 'devdependencies should probably be devDependencies.',
+ 'repostitory should probably be repository.',
+ 'prefereGlobal should probably be preferGlobal.',
+ 'hompage should probably be homepage.',
+ 'hampage should probably be homepage.',
+ 'autohr should probably be author.',
+ 'autor should probably be author.',
+ 'contributers should probably be contributors.',
+ 'publicationConfig should probably be publishConfig.',
+ 'No repository field.',
+ 'No repository field.',
+ 'No readme data.',
+ 'bugs.url field must be a string url. Deleted.',
+ 'Normalized value of bugs field is an empty object. Deleted.',
+ 'No repository field.',
+ 'No readme data.' ]
+
+ normalize({"dependancies": "dependencies"
+ ,"dependecies": "dependencies"
+ ,"depdenencies": "dependencies"
+ ,"devEependencies": "devDependencies"
+ ,"depends": "dependencies"
+ ,"dev-dependencies": "devDependencies"
+ ,"devDependences": "devDependencies"
+ ,"devDepenencies": "devDependencies"
+ ,"devdependencies": "devDependencies"
+ ,"repostitory": "repository"
+ ,"prefereGlobal": "preferGlobal"
+ ,"hompage": "homepage"
+ ,"hampage": "homepage"
+ ,"autohr": "author"
+ ,"autor": "author"
+ ,"contributers": "contributors"
+ ,"publicationConfig": "publishConfig"
+ ,readme:"asdf"
+ ,name:"name"
+ ,version:"1.2.5"}, warn)
+
+ normalize({name:"name"
+ ,version:"1.2.5"
+ ,bugs:{web:"url",name:"url"}}, warn)
+
+ normalize({name:"name"
+ ,version:"1.2.5"
+ ,script:{server:"start",tests:"test"}}, warn)
+ t.same(warnings, expect)
+ t.end();
+})
diff --git a/deps/npm/node_modules/npm-user-validate/.travis.yml b/deps/npm/node_modules/npm-user-validate/.travis.yml
new file mode 100644
index 0000000000..a12e3f0fde
--- /dev/null
+++ b/deps/npm/node_modules/npm-user-validate/.travis.yml
@@ -0,0 +1,4 @@
+language: node_js
+node_js:
+ - "0.8"
+ - "0.10" \ No newline at end of file
diff --git a/deps/npm/node_modules/npm-user-validate/README.md b/deps/npm/node_modules/npm-user-validate/README.md
index b699863cf9..5e34f0aa07 100644
--- a/deps/npm/node_modules/npm-user-validate/README.md
+++ b/deps/npm/node_modules/npm-user-validate/README.md
@@ -1,3 +1,6 @@
-## npmvalidate
+[![Build Status](https://travis-ci.org/robertkowalski/npm-user-validate.png?branch=master)](https://travis-ci.org/robertkowalski/npm-user-validate)
+[![devDependency Status](https://david-dm.org/robertkowalski/npm-user-validate/dev-status.png)](https://david-dm.org/robertkowalski/npm-user-validate#info=devDependencies)
+
+# npm-user-validate
Validation for the npm client and npm-www (and probably other npm projects) \ No newline at end of file
diff --git a/deps/npm/node_modules/npm-user-validate/npm-user-validate.js b/deps/npm/node_modules/npm-user-validate/npm-user-validate.js
index 29cb588aac..853456f527 100644
--- a/deps/npm/node_modules/npm-user-validate/npm-user-validate.js
+++ b/deps/npm/node_modules/npm-user-validate/npm-user-validate.js
@@ -2,17 +2,31 @@ exports.email = email
exports.pw = pw
exports.username = username
+var requirements = exports.requirements = {
+ username: {
+ lowerCase: 'Username must be lowercase',
+ urlSafe: 'Username may not contain non-url-safe chars',
+ dot: 'Username may not start with "."'
+ },
+ password: {
+ badchars: 'Password passwords cannot contain these characters: \'!:@"'
+ },
+ email: {
+ valid: 'Email must be an email address'
+ }
+};
+
function username (un) {
if (un !== un.toLowerCase()) {
- return new Error('Username must be lowercase')
+ return new Error(requirements.username.lowerCase)
}
if (un !== encodeURIComponent(un)) {
- return new Error('Username may not contain non-url-safe chars')
+ return new Error(requirements.username.urlSafe)
}
if (un.charAt(0) === '.') {
- return new Error('Username may not start with "."')
+ return new Error(requirements.username.dot)
}
return null
@@ -20,7 +34,7 @@ function username (un) {
function email (em) {
if (!em.match(/^.+@.+\..+$/)) {
- return new Error('Email must be an email address')
+ return new Error(requirements.email.valid)
}
return null
@@ -28,8 +42,8 @@ function email (em) {
function pw (pw) {
if (pw.match(/['!:@"]/)) {
- return new Error('Sorry, passwords cannot contain these characters: \'!:@"')
+ return new Error(requirements.password.badchars)
}
return null
-} \ No newline at end of file
+}
diff --git a/deps/npm/node_modules/npm-user-validate/package.json b/deps/npm/node_modules/npm-user-validate/package.json
index d2bdf77998..a05b95ef1d 100644
--- a/deps/npm/node_modules/npm-user-validate/package.json
+++ b/deps/npm/node_modules/npm-user-validate/package.json
@@ -1,29 +1,37 @@
{
"name": "npm-user-validate",
- "version": "0.0.1",
+ "version": "0.0.3",
"description": "User validations for npm",
"main": "npm-user-validate.js",
+ "devDependencies": {
+ "tap": "0.4.3"
+ },
"scripts": {
"test": "tap test/*.js"
},
- "devDependencies": {
- "tap": "0.4.1"
- },
"repository": {
"type": "git",
"url": "https://github.com/robertkowalski/npm-user-validate"
},
"keywords": [
"npm",
- "validation"
+ "validation",
+ "registry"
],
"author": {
"name": "Robert Kowalski",
"email": "rok@kowalski.gd"
},
"license": "BSD",
- "readme": "## npmvalidate\n\nValidation for the npm client and npm-www (and probably other npm projects)",
+ "readme": "[![Build Status](https://travis-ci.org/robertkowalski/npm-user-validate.png?branch=master)](https://travis-ci.org/robertkowalski/npm-user-validate)\n[![devDependency Status](https://david-dm.org/robertkowalski/npm-user-validate/dev-status.png)](https://david-dm.org/robertkowalski/npm-user-validate#info=devDependencies)\n\n# npm-user-validate\n\nValidation for the npm client and npm-www (and probably other npm projects)",
"readmeFilename": "README.md",
- "_id": "npm-user-validate@0.0.1",
- "_from": "npm-user-validate@0"
+ "bugs": {
+ "url": "https://github.com/robertkowalski/npm-user-validate/issues"
+ },
+ "_id": "npm-user-validate@0.0.3",
+ "dist": {
+ "shasum": "7b147d11038083fb0ba2d60ff851dc20322aa9f6"
+ },
+ "_from": "npm-user-validate@0.0.3",
+ "_resolved": "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.0.3.tgz"
}
diff --git a/deps/npm/package.json b/deps/npm/package.json
index 387af20185..bea589077b 100644
--- a/deps/npm/package.json
+++ b/deps/npm/package.json
@@ -1,5 +1,5 @@
{
- "version": "1.2.30",
+ "version": "1.2.32",
"name": "npm",
"publishConfig": {
"proprietary-attribs": false
@@ -62,7 +62,7 @@
"read-package-json": "~0.4.1",
"read-installed": "0",
"glob": "~3.2.1",
- "init-package-json": "0.0.8",
+ "init-package-json": "0.0.9",
"osenv": "0",
"lockfile": "~0.3.2",
"retry": "~0.6.0",
@@ -74,7 +74,8 @@
"sha": "~1.0.1",
"editor": "0.0.4",
"child-process-close": "~0.1.1",
- "npm-user-validate": "0"
+ "npm-user-validate": "0.0.3",
+ "normalize-package-data": "~0.1.7"
},
"bundleDependencies": [
"semver",
@@ -117,7 +118,8 @@
"sha",
"child-process-close",
"editor",
- "npm-user-validate"
+ "npm-user-validate",
+ "normalize-package-data"
],
"devDependencies": {
"ronn": "~0.3.6",