summaryrefslogtreecommitdiff
path: root/deps
diff options
context:
space:
mode:
Diffstat (limited to 'deps')
-rw-r--r--deps/npm/.gitignore15
-rw-r--r--deps/npm/doc/cli/index.md365
-rw-r--r--deps/npm/html/api/author.html69
-rw-r--r--deps/npm/html/api/bin.html54
-rw-r--r--deps/npm/html/api/bugs.html60
-rw-r--r--deps/npm/html/api/commands.html63
-rw-r--r--deps/npm/html/api/config.html68
-rw-r--r--deps/npm/html/api/deprecate.html65
-rw-r--r--deps/npm/html/api/docs.html60
-rw-r--r--deps/npm/html/api/edit.html65
-rw-r--r--deps/npm/html/api/explore.html59
-rw-r--r--deps/npm/html/api/find.html88
-rw-r--r--deps/npm/html/api/get.html68
-rw-r--r--deps/npm/html/api/help-search.html67
-rw-r--r--deps/npm/html/api/home.html60
-rw-r--r--deps/npm/html/api/init.html70
-rw-r--r--deps/npm/html/api/install.html60
-rw-r--r--deps/npm/html/api/link.html74
-rw-r--r--deps/npm/html/api/list.html88
-rw-r--r--deps/npm/html/api/ln.html74
-rw-r--r--deps/npm/html/api/load.html67
-rw-r--r--deps/npm/html/api/ls.html88
-rw-r--r--deps/npm/html/api/npm.html126
-rw-r--r--deps/npm/html/api/outdated.html54
-rw-r--r--deps/npm/html/api/owner.html69
-rw-r--r--deps/npm/html/api/pack.html60
-rw-r--r--deps/npm/html/api/prefix.html56
-rw-r--r--deps/npm/html/api/prune.html58
-rw-r--r--deps/npm/html/api/publish.html67
-rw-r--r--deps/npm/html/api/rebuild.html57
-rw-r--r--deps/npm/html/api/restart.html62
-rw-r--r--deps/npm/html/api/rm.html57
-rw-r--r--deps/npm/html/api/root.html56
-rw-r--r--deps/npm/html/api/run-script.html64
-rw-r--r--deps/npm/html/api/search.html67
-rw-r--r--deps/npm/html/api/set.html68
-rw-r--r--deps/npm/html/api/start.html54
-rw-r--r--deps/npm/html/api/stop.html54
-rw-r--r--deps/npm/html/api/submodule.html68
-rw-r--r--deps/npm/html/api/tag.html64
-rw-r--r--deps/npm/html/api/test.html57
-rw-r--r--deps/npm/html/api/uninstall.html57
-rw-r--r--deps/npm/html/api/unpublish.html61
-rw-r--r--deps/npm/html/api/update.html53
-rw-r--r--deps/npm/html/api/version.html59
-rw-r--r--deps/npm/html/api/view.html134
-rw-r--r--deps/npm/html/api/whoami.html56
-rw-r--r--deps/npm/html/doc/README.html311
-rw-r--r--deps/npm/html/doc/adduser.html74
-rw-r--r--deps/npm/html/doc/author.html69
-rw-r--r--deps/npm/html/doc/bin.html55
-rw-r--r--deps/npm/html/doc/bugs.html71
-rw-r--r--deps/npm/html/doc/build.html60
-rw-r--r--deps/npm/html/doc/bundle.html55
-rw-r--r--deps/npm/html/doc/cache.html101
-rw-r--r--deps/npm/html/doc/changelog.html69
-rw-r--r--deps/npm/html/doc/coding-style.html226
-rw-r--r--deps/npm/html/doc/completion.html68
-rw-r--r--deps/npm/html/doc/config.html621
-rw-r--r--deps/npm/html/doc/deprecate.html64
-rw-r--r--deps/npm/html/doc/developers.html185
-rw-r--r--deps/npm/html/doc/docs.html72
-rw-r--r--deps/npm/html/doc/edit.html72
-rw-r--r--deps/npm/html/doc/explore.html75
-rw-r--r--deps/npm/html/doc/faq.html250
-rw-r--r--deps/npm/html/doc/find.html75
-rw-r--r--deps/npm/html/doc/folders.html240
-rw-r--r--deps/npm/html/doc/get.html621
-rw-r--r--deps/npm/html/doc/global.html240
-rw-r--r--deps/npm/html/doc/help-search.html73
-rw-r--r--deps/npm/html/doc/help.html71
-rw-r--r--deps/npm/html/doc/home.html72
-rw-r--r--deps/npm/html/doc/index.html407
-rw-r--r--deps/npm/html/doc/init.html64
-rw-r--r--deps/npm/html/doc/install.html169
-rw-r--r--deps/npm/html/doc/json.html471
-rw-r--r--deps/npm/html/doc/link.html93
-rw-r--r--deps/npm/html/doc/list.html87
-rw-r--r--deps/npm/html/doc/ln.html93
-rw-r--r--deps/npm/html/doc/ls.html87
-rw-r--r--deps/npm/html/doc/npm.html170
-rw-r--r--deps/npm/html/doc/outdated.html56
-rw-r--r--deps/npm/html/doc/owner.html69
-rw-r--r--deps/npm/html/doc/pack.html64
-rw-r--r--deps/npm/html/doc/prefix.html55
-rw-r--r--deps/npm/html/doc/prune.html60
-rw-r--r--deps/npm/html/doc/publish.html64
-rw-r--r--deps/npm/html/doc/rebuild.html60
-rw-r--r--deps/npm/html/doc/registry.html132
-rw-r--r--deps/npm/html/doc/removing-npm.html93
-rw-r--r--deps/npm/html/doc/restart.html59
-rw-r--r--deps/npm/html/doc/rm.html57
-rw-r--r--deps/npm/html/doc/root.html55
-rw-r--r--deps/npm/html/doc/run-script.html58
-rw-r--r--deps/npm/html/doc/scripts.html199
-rw-r--r--deps/npm/html/doc/search.html75
-rw-r--r--deps/npm/html/doc/semver.html139
-rw-r--r--deps/npm/html/doc/set.html621
-rw-r--r--deps/npm/html/doc/star.html61
-rw-r--r--deps/npm/html/doc/start.html55
-rw-r--r--deps/npm/html/doc/stop.html55
-rw-r--r--deps/npm/html/doc/submodule.html68
-rw-r--r--deps/npm/html/doc/tag.html56
-rw-r--r--deps/npm/html/doc/test.html58
-rw-r--r--deps/npm/html/doc/uninstall.html57
-rw-r--r--deps/npm/html/doc/unpublish.html69
-rw-r--r--deps/npm/html/doc/update.html58
-rw-r--r--deps/npm/html/doc/version.html66
-rw-r--r--deps/npm/html/doc/view.html123
-rw-r--r--deps/npm/html/doc/whoami.html55
-rw-r--r--deps/npm/man/man1/README.1406
-rw-r--r--deps/npm/man/man1/adduser.157
-rw-r--r--deps/npm/man/man1/author.155
-rw-r--r--deps/npm/man/man1/bin.134
-rw-r--r--deps/npm/man/man1/bugs.170
-rw-r--r--deps/npm/man/man1/build.143
-rw-r--r--deps/npm/man/man1/bundle.123
-rw-r--r--deps/npm/man/man1/cache.197
-rw-r--r--deps/npm/man/man1/changelog.191
-rw-r--r--deps/npm/man/man1/coding-style.1269
-rw-r--r--deps/npm/man/man1/completion.147
-rw-r--r--deps/npm/man/man1/config.11154
-rw-r--r--deps/npm/man/man1/deprecate.145
-rw-r--r--deps/npm/man/man1/developers.1262
-rw-r--r--deps/npm/man/man1/docs.168
-rw-r--r--deps/npm/man/man1/edit.160
-rw-r--r--deps/npm/man/man1/explore.176
-rw-r--r--deps/npm/man/man1/faq.1308
-rw-r--r--deps/npm/man/man1/find.172
-rw-r--r--deps/npm/man/man1/folders.1259
-rw-r--r--deps/npm/man/man1/get.11154
-rw-r--r--deps/npm/man/man1/global.1259
-rw-r--r--deps/npm/man/man1/help-search.159
-rw-r--r--deps/npm/man/man1/help.171
-rw-r--r--deps/npm/man/man1/home.168
-rw-r--r--deps/npm/man/man1/index.1277
-rw-r--r--deps/npm/man/man1/init.140
-rw-r--r--deps/npm/man/man1/install.1374
-rw-r--r--deps/npm/man/man1/json.1676
-rw-r--r--deps/npm/man/man1/link.1108
-rw-r--r--deps/npm/man/man1/list.199
-rw-r--r--deps/npm/man/man1/ln.1108
-rw-r--r--deps/npm/man/man1/ls.199
-rw-r--r--deps/npm/man/man1/npm.1227
-rw-r--r--deps/npm/man/man1/outdated.132
-rw-r--r--deps/npm/man/man1/owner.155
-rw-r--r--deps/npm/man/man1/pack.142
-rw-r--r--deps/npm/man/man1/prefix.134
-rw-r--r--deps/npm/man/man1/prune.137
-rw-r--r--deps/npm/man/man1/publish.153
-rw-r--r--deps/npm/man/man1/rebuild.136
-rw-r--r--deps/npm/man/man1/registry.1107
-rw-r--r--deps/npm/man/man1/removing-npm.1107
-rw-r--r--deps/npm/man/man1/restart.142
-rw-r--r--deps/npm/man/man1/rm.136
-rw-r--r--deps/npm/man/man1/root.134
-rw-r--r--deps/npm/man/man1/run-script.141
-rw-r--r--deps/npm/man/man1/scripts.1272
-rw-r--r--deps/npm/man/man1/search.172
-rw-r--r--deps/npm/man/man1/semver.1221
-rw-r--r--deps/npm/man/man1/set.11154
-rw-r--r--deps/npm/man/man1/star.139
-rw-r--r--deps/npm/man/man1/start.137
-rw-r--r--deps/npm/man/man1/stop.137
-rw-r--r--deps/npm/man/man1/submodule.142
-rw-r--r--deps/npm/man/man1/tag.131
-rw-r--r--deps/npm/man/man1/test.141
-rw-r--r--deps/npm/man/man1/uninstall.136
-rw-r--r--deps/npm/man/man1/unpublish.153
-rw-r--r--deps/npm/man/man1/update.141
-rw-r--r--deps/npm/man/man1/version.145
-rw-r--r--deps/npm/man/man1/view.1176
-rw-r--r--deps/npm/man/man1/whoami.128
-rw-r--r--deps/npm/man/man3/author.352
-rw-r--r--deps/npm/man/man3/bin.321
-rw-r--r--deps/npm/man/man3/bugs.328
-rw-r--r--deps/npm/man/man3/commands.335
-rw-r--r--deps/npm/man/man3/config.369
-rw-r--r--deps/npm/man/man3/deprecate.354
-rw-r--r--deps/npm/man/man3/docs.328
-rw-r--r--deps/npm/man/man3/edit.335
-rw-r--r--deps/npm/man/man3/explore.328
-rw-r--r--deps/npm/man/man3/find.379
-rw-r--r--deps/npm/man/man3/get.369
-rw-r--r--deps/npm/man/man3/help-search.351
-rw-r--r--deps/npm/man/man3/home.328
-rw-r--r--deps/npm/man/man3/init.339
-rw-r--r--deps/npm/man/man3/install.329
-rw-r--r--deps/npm/man/man3/link.353
-rw-r--r--deps/npm/man/man3/list.379
-rw-r--r--deps/npm/man/man3/ln.353
-rw-r--r--deps/npm/man/man3/load.344
-rw-r--r--deps/npm/man/man3/ls.379
-rw-r--r--deps/npm/man/man3/npm.3160
-rw-r--r--deps/npm/man/man3/outdated.321
-rw-r--r--deps/npm/man/man3/owner.352
-rw-r--r--deps/npm/man/man3/pack.328
-rw-r--r--deps/npm/man/man3/prefix.324
-rw-r--r--deps/npm/man/man3/prune.327
-rw-r--r--deps/npm/man/man3/publish.351
-rw-r--r--deps/npm/man/man3/rebuild.322
-rw-r--r--deps/npm/man/man3/restart.337
-rw-r--r--deps/npm/man/man3/rm.325
-rw-r--r--deps/npm/man/man3/root.324
-rw-r--r--deps/npm/man/man3/run-script.348
-rw-r--r--deps/npm/man/man3/search.364
-rw-r--r--deps/npm/man/man3/set.369
-rw-r--r--deps/npm/man/man3/start.321
-rw-r--r--deps/npm/man/man3/stop.321
-rw-r--r--deps/npm/man/man3/submodule.342
-rw-r--r--deps/npm/man/man3/tag.331
-rw-r--r--deps/npm/man/man3/test.325
-rw-r--r--deps/npm/man/man3/uninstall.325
-rw-r--r--deps/npm/man/man3/unpublish.330
-rw-r--r--deps/npm/man/man3/update.318
-rw-r--r--deps/npm/man/man3/version.327
-rw-r--r--deps/npm/man/man3/view.3176
-rw-r--r--deps/npm/man/man3/whoami.324
218 files changed, 23739 insertions, 15 deletions
diff --git a/deps/npm/.gitignore b/deps/npm/.gitignore
deleted file mode 100644
index e3424f5f6d..0000000000
--- a/deps/npm/.gitignore
+++ /dev/null
@@ -1,15 +0,0 @@
-*.swp
-test/bin
-test/output.log
-test/packages/*/node_modules
-test/packages/npm-test-depends-on-spark/which-spark.log
-test/packages/test-package/random-data.txt
-test/root
-node_modules/ronn
-node_modules/.bin
-npm-debug.log
-html/api/*.html
-html/doc/*.html
-man/
-doc/*/index.md
-./npmrc
diff --git a/deps/npm/doc/cli/index.md b/deps/npm/doc/cli/index.md
new file mode 100644
index 0000000000..b355042df0
--- /dev/null
+++ b/deps/npm/doc/cli/index.md
@@ -0,0 +1,365 @@
+npm-index(1) -- Index of all npm documentation
+==============================================
+
+## npm-README(1)
+
+ node package manager
+
+# Command Line Documentation
+## npm-adduser(1)
+
+ Add a registry user account
+
+## npm-bin(1)
+
+ Display npm bin folder
+
+## npm-bugs(1)
+
+ Bugs for a package in a web browser maybe
+
+## npm-build(1)
+
+ Build a package
+
+## npm-bundle(1)
+
+ REMOVED
+
+## npm-cache(1)
+
+ Manipulates packages cache
+
+## npm-changelog(1)
+
+ Changes
+
+## npm-coding-style(1)
+
+ npm's "funny" coding style
+
+## npm-completion(1)
+
+ Tab Completion for npm
+
+## npm-config(1)
+
+ Manage the npm configuration file
+
+## npm-deprecate(1)
+
+ Deprecate a version of a package
+
+## npm-developers(1)
+
+ Developer Guide
+
+## npm-docs(1)
+
+ Docs for a package in a web browser maybe
+
+## npm-edit(1)
+
+ Edit an installed package
+
+## npm-explore(1)
+
+ Browse an installed package
+
+## npm-faq(1)
+
+ Frequently Asked Questions
+
+## npm-folders(1)
+
+ Folder Structures Used by npm
+
+## npm-help-search(1)
+
+ Search npm help documentation
+
+## npm-help(1)
+
+ Get help on npm
+
+## npm-init(1)
+
+ Interactively create a package.json file
+
+## npm-install(1)
+
+ Install a package
+
+## npm-json(1)
+
+ Specifics of npm's package.json handling
+
+## npm-link(1)
+
+ Symlink a package folder
+
+## npm-list(1)
+
+ List installed packages
+
+## npm-npm(1)
+
+ node package manager
+
+## npm-outdated(1)
+
+ Check for outdated packages
+
+## npm-owner(1)
+
+ Manage package owners
+
+## npm-pack(1)
+
+ Create a tarball from a package
+
+## npm-prefix(1)
+
+ Display prefix
+
+## npm-prune(1)
+
+ Remove extraneous packages
+
+## npm-publish(1)
+
+ Publish a package
+
+## npm-rebuild(1)
+
+ Rebuild a package
+
+## npm-registry(1)
+
+ The JavaScript Package Registry
+
+## npm-removing-npm(1)
+
+ Cleaning the Slate
+
+## npm-restart(1)
+
+ Start a package
+
+## npm-root(1)
+
+ Display npm root
+
+## npm-run-script(1)
+
+ Run arbitrary package scripts
+
+## npm-scripts(1)
+
+ How npm handles the "scripts" field
+
+## npm-search(1)
+
+ Search for packages
+
+## npm-semver(1)
+
+ The semantic versioner for npm
+
+## npm-star(1)
+
+ Mark your favorite packages
+
+## npm-start(1)
+
+ Start a package
+
+## npm-stop(1)
+
+ Stop a package
+
+## npm-submodule(1)
+
+ Add a package as a git submodule
+
+## npm-tag(1)
+
+ Tag a published version
+
+## npm-test(1)
+
+ Test a package
+
+## npm-uninstall(1)
+
+ Remove a package
+
+## npm-unpublish(1)
+
+ Remove a package from the registry
+
+## npm-update(1)
+
+ Update a package
+
+## npm-version(1)
+
+ Bump a package version
+
+## npm-view(1)
+
+ View registry info
+
+## npm-whoami(1)
+
+ Display npm username
+
+# API Documentation
+## npm-bin(3)
+
+ Display npm bin folder
+
+## npm-bugs(3)
+
+ Bugs for a package in a web browser maybe
+
+## npm-commands(3)
+
+ npm commands
+
+## npm-config(3)
+
+ Manage the npm configuration files
+
+## npm-deprecate(3)
+
+ Deprecate a version of a package
+
+## npm-docs(3)
+
+ Docs for a package in a web browser maybe
+
+## npm-edit(3)
+
+ Edit an installed package
+
+## npm-explore(3)
+
+ Browse an installed package
+
+## npm-help-search(3)
+
+ Search the help pages
+
+## npm-init(3)
+
+ Interactively create a package.json file
+
+## npm-install(3)
+
+ install a package programmatically
+
+## npm-link(3)
+
+ Symlink a package folder
+
+## npm-load(3)
+
+ Load config settings
+
+## npm-ls(3)
+
+ List installed packages
+
+## npm-npm(3)
+
+ node package manager
+
+## npm-outdated(3)
+
+ Check for outdated packages
+
+## npm-owner(3)
+
+ Manage package owners
+
+## npm-pack(3)
+
+ Create a tarball from a package
+
+## npm-prefix(3)
+
+ Display prefix
+
+## npm-prune(3)
+
+ Remove extraneous packages
+
+## npm-publish(3)
+
+ Publish a package
+
+## npm-rebuild(3)
+
+ Rebuild a package
+
+## npm-restart(3)
+
+ Start a package
+
+## npm-root(3)
+
+ Display npm root
+
+## npm-run-script(3)
+
+ Run arbitrary package scripts
+
+## npm-search(3)
+
+ Search for packages
+
+## npm-start(3)
+
+ Start a package
+
+## npm-stop(3)
+
+ Stop a package
+
+## npm-submodule(3)
+
+ Add a package as a git submodule
+
+## npm-tag(3)
+
+ Tag a published version
+
+## npm-test(3)
+
+ Test a package
+
+## npm-uninstall(3)
+
+ uninstall a package programmatically
+
+## npm-unpublish(3)
+
+ Remove a package from the registry
+
+## npm-update(3)
+
+ Update a package
+
+## npm-version(3)
+
+ Bump a package version
+
+## npm-view(3)
+
+ View registry info
+
+## npm-whoami(3)
+
+ Display npm username
+
diff --git a/deps/npm/html/api/author.html b/deps/npm/html/api/author.html
new file mode 100644
index 0000000000..5e27c5bb88
--- /dev/null
+++ b/deps/npm/html/api/author.html
@@ -0,0 +1,69 @@
+<!doctype html>
+<html>
+ <title>author</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/owner.html">owner</a></h1> <p>Manage package owners</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.owner(args, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>The first element of the 'args' parameter defines what to do, and the subsequent
+elements depend on the action. Possible values for the action are (order of
+parameters are given in parenthesis):</p>
+
+<ul><li>ls (package):
+List all the users who have access to modify a package and push new versions.
+Handy when you need to know who to bug for help.</li><li>add (user, package):
+Add a new user as a maintainer of a package. This user is enabled to modify
+metadata, publish new versions, and add other owners.</li><li>rm (user, package):
+Remove a user from the package owner list. This immediately revokes their
+privileges.</li></ul>
+
+<p>Note that there is only one level of access. Either you can modify a package,
+or you can't. Future versions may contain more fine-grained access levels, but
+that is not implemented at this time.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<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">author &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/bin.html b/deps/npm/html/api/bin.html
new file mode 100644
index 0000000000..a0ec28d42d
--- /dev/null
+++ b/deps/npm/html/api/bin.html
@@ -0,0 +1,54 @@
+<!doctype html>
+<html>
+ <title>bin</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/bin.html">bin</a></h1> <p>Display npm bin folder</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.bin(args, cb)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Print the folder where npm will install executables.</p>
+
+<p>This function should not be used programmatically. Instead, just refer
+to the <code>npm.bin</code> member.</p>
+</div>
+<p id="footer">bin &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/bugs.html b/deps/npm/html/api/bugs.html
new file mode 100644
index 0000000000..7dd8305450
--- /dev/null
+++ b/deps/npm/html/api/bugs.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<html>
+ <title>bugs</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/bugs.html">bugs</a></h1> <p>Bugs for a package in a web browser maybe</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.bugs(package, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command tries to guess at the likely location of a package's
+bug tracker URL, and then tries to open it using the <code>--browser</code>
+config param.</p>
+
+<p>Like other commands, the first parameter is an array. This command only
+uses the first element, which is expected to be a package name with an
+optional version number.</p>
+
+<p>This command will launch a browser, so this command may not be the most
+friendly for programmatic use.</p>
+</div>
+<p id="footer">bugs &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/commands.html b/deps/npm/html/api/commands.html
new file mode 100644
index 0000000000..30383c2f09
--- /dev/null
+++ b/deps/npm/html/api/commands.html
@@ -0,0 +1,63 @@
+<!doctype html>
+<html>
+ <title>commands</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/commands.html">commands</a></h1> <p>npm commands</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands[&lt;command&gt;](args, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>npm comes with a full set of commands, and each of the commands takes a
+similar set of arguments.</p>
+
+<p>In general, all commands on the command object take an <strong>array</strong> of positional
+argument <strong>strings</strong>. The last argument to any function is a callback. Some
+commands are special and take other optional arguments.</p>
+
+<p>All commands have their own man page. See <code>man npm-&lt;command&gt;</code> for command-line
+usage, or <code>man 3 npm-&lt;command&gt;</code> for programmatic usage.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/index.html">index(1)</a></li></ul>
+</div>
+<p id="footer">commands &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/config.html b/deps/npm/html/api/config.html
new file mode 100644
index 0000000000..298042100b
--- /dev/null
+++ b/deps/npm/html/api/config.html
@@ -0,0 +1,68 @@
+<!doctype html>
+<html>
+ <title>config</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/config.html">config</a></h1> <p>Manage the npm configuration files</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.config(args, callback)
+var val = npm.config.get(key)
+npm.config.set(key, val)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This function acts much the same way as the command-line version. The first
+element in the array tells config what to do. Possible values are:</p>
+
+<ul><li><p><code>set</code></p><p>Sets a config parameter. The second element in <code>args</code> is interpreted as the
+key, and the third element is interpreted as the value.</p></li><li><p><code>get</code></p><p>Gets the value of a config parameter. The second element in <code>args</code> is the
+key to get the value of.</p></li><li><p><code>delete</code> (<code>rm</code> or <code>del</code>)</p><p>Deletes a parameter from the config. The second element in <code>args</code> is the
+key to delete.</p></li><li><p><code>list</code> (<code>ls</code>)</p><p>Show all configs that aren't secret. No parameters necessary.</p></li><li><p><code>edit</code>:</p><p>Opens the config file in the default editor. This command isn't very useful
+programmatically, but it is made available.</p></li></ul>
+
+<p>To programmatically access npm configuration settings, or set them for
+the duration of a program, use the <code>npm.config.set</code> and <code>npm.config.get</code>
+functions instead.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../api/npm.html">npm(3)</a></li></ul>
+</div>
+<p id="footer">config &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/deprecate.html b/deps/npm/html/api/deprecate.html
new file mode 100644
index 0000000000..941f01495c
--- /dev/null
+++ b/deps/npm/html/api/deprecate.html
@@ -0,0 +1,65 @@
+<!doctype html>
+<html>
+ <title>deprecate</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/deprecate.html">deprecate</a></h1> <p>Deprecate a version of a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.deprecate(args, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command will update the npm registry entry for a package, providing
+a deprecation warning to all who attempt to install it.</p>
+
+<p>The 'args' parameter must have exactly two elements:</p>
+
+<ul><li><p><code>package[@version]</code></p><p>The <code>version</code> portion is optional, and may be either a range, or a
+specific version, or a tag.</p></li><li><p><code>message</code></p><p>The warning message that will be printed whenever a user attempts to
+install the package.</p></li></ul>
+
+<p>Note that you must be the package owner to deprecate something. See the
+<code>owner</code> and <code>adduser</code> help topics.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../api/publish.html">publish(3)</a></li><li><a href="../api/unpublish.html">unpublish(3)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
+</div>
+<p id="footer">deprecate &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/docs.html b/deps/npm/html/api/docs.html
new file mode 100644
index 0000000000..ef0fef4932
--- /dev/null
+++ b/deps/npm/html/api/docs.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<html>
+ <title>docs</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/docs.html">docs</a></h1> <p>Docs for a package in a web browser maybe</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.docs(package, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command tries to guess at the likely location of a package's
+documentation URL, and then tries to open it using the <code>--browser</code>
+config param.</p>
+
+<p>Like other commands, the first parameter is an array. This command only
+uses the first element, which is expected to be a package name with an
+optional version number.</p>
+
+<p>This command will launch a browser, so this command may not be the most
+friendly for programmatic use.</p>
+</div>
+<p id="footer">docs &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/edit.html b/deps/npm/html/api/edit.html
new file mode 100644
index 0000000000..7babb1b290
--- /dev/null
+++ b/deps/npm/html/api/edit.html
@@ -0,0 +1,65 @@
+<!doctype html>
+<html>
+ <title>edit</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/edit.html">edit</a></h1> <p>Edit an installed package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.edit(package, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Opens the package folder in the default editor (or whatever you've
+configured as the npm <code>editor</code> config -- see <code>npm help config</code>.)</p>
+
+<p>After it has been edited, the package is rebuilt so as to pick up any
+changes in compiled packages.</p>
+
+<p>For instance, you can do <code>npm install connect</code> to install connect
+into your package, and then <code>npm.commands.edit(["connect"], callback)</code>
+to make a few changes to your locally installed copy.</p>
+
+<p>The first parameter is a string array with a single element, the package
+to open. The package can optionally have a version number attached.</p>
+
+<p>Since this command opens an editor in a new process, be careful about where
+and how this is used.</p>
+</div>
+<p id="footer">edit &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/explore.html b/deps/npm/html/api/explore.html
new file mode 100644
index 0000000000..31e8aa616e
--- /dev/null
+++ b/deps/npm/html/api/explore.html
@@ -0,0 +1,59 @@
+<!doctype html>
+<html>
+ <title>explore</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/explore.html">explore</a></h1> <p>Browse an installed package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.explore(args, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Spawn a subshell in the directory of the installed package specified.</p>
+
+<p>If a command is specified, then it is run in the subshell, which then
+immediately terminates.</p>
+
+<p>Note that the package is <em>not</em> automatically rebuilt afterwards, so be
+sure to use <code>npm rebuild &lt;pkg&gt;</code> if you make any changes.</p>
+
+<p>The first element in the 'args' parameter must be a package name. After that is the optional command, which can be any number of strings. All of the strings will be combined into one, space-delimited command.</p>
+</div>
+<p id="footer">explore &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/find.html b/deps/npm/html/api/find.html
new file mode 100644
index 0000000000..4aa7df2ce7
--- /dev/null
+++ b/deps/npm/html/api/find.html
@@ -0,0 +1,88 @@
+<!doctype html>
+<html>
+ <title>find</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/ls.html">ls</a></h1> <p>List installed packages</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.ls(args, [silent,] callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command will print to stdout all the versions of packages that are
+installed, as well as their dependencies, in a tree-structure. It will also
+return that data using the callback.</p>
+
+<p>This command does not take any arguments, but args must be defined.
+Beyond that, if any arguments are passed in, npm will politely warn that it
+does not take positional arguments, though you may set config flags
+like with any other command, such as <code>global</code> to list global packages.</p>
+
+<p>It will print out extraneous, missing, and invalid packages.</p>
+
+<p>If the silent parameter is set to true, nothing will be output to the screen,
+but the data will still be returned.</p>
+
+<h2 id="CONFIGURATION">CONFIGURATION</h2>
+
+<h3 id="long">long</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Show extended information.</p>
+
+<h3 id="parseable">parseable</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Show parseable output instead of tree view.</p>
+
+<h3 id="global">global</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>List packages in the global install prefix instead of in the current
+project.</p>
+
+<p>Note, if parseable is set or long isn't set, then duplicates will be trimmed.
+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">find &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/get.html b/deps/npm/html/api/get.html
new file mode 100644
index 0000000000..10e98e75fd
--- /dev/null
+++ b/deps/npm/html/api/get.html
@@ -0,0 +1,68 @@
+<!doctype html>
+<html>
+ <title>get</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/config.html">config</a></h1> <p>Manage the npm configuration files</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.config(args, callback)
+var val = npm.config.get(key)
+npm.config.set(key, val)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This function acts much the same way as the command-line version. The first
+element in the array tells config what to do. Possible values are:</p>
+
+<ul><li><p><code>set</code></p><p>Sets a config parameter. The second element in <code>args</code> is interpreted as the
+key, and the third element is interpreted as the value.</p></li><li><p><code>get</code></p><p>Gets the value of a config parameter. The second element in <code>args</code> is the
+key to get the value of.</p></li><li><p><code>delete</code> (<code>rm</code> or <code>del</code>)</p><p>Deletes a parameter from the config. The second element in <code>args</code> is the
+key to delete.</p></li><li><p><code>list</code> (<code>ls</code>)</p><p>Show all configs that aren't secret. No parameters necessary.</p></li><li><p><code>edit</code>:</p><p>Opens the config file in the default editor. This command isn't very useful
+programmatically, but it is made available.</p></li></ul>
+
+<p>To programmatically access npm configuration settings, or set them for
+the duration of a program, use the <code>npm.config.set</code> and <code>npm.config.get</code>
+functions instead.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../api/npm.html">npm(3)</a></li></ul>
+</div>
+<p id="footer">get &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/help-search.html b/deps/npm/html/api/help-search.html
new file mode 100644
index 0000000000..da80128171
--- /dev/null
+++ b/deps/npm/html/api/help-search.html
@@ -0,0 +1,67 @@
+<!doctype html>
+<html>
+ <title>help-search</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/help-search.html">help-search</a></h1> <p>Search the help pages</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.helpSearch(args, [silent,] callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command is rarely useful, but it exists in the rare case that it is.</p>
+
+<p>This command takes an array of search terms and returns the help pages that
+match in order of best match.</p>
+
+<p>If there is only one match, then npm displays that help section. If there
+are multiple results, the results are printed to the screen formatted and the
+array of results is returned. Each result is an object with these properties:</p>
+
+<ul><li>hits:
+A map of args to number of hits on that arg. For example, {"npm": 3}</li><li>found:
+Total number of unique args that matched.</li><li>totalHits:
+Total number of hits.</li><li>lines:
+An array of all matching lines (and some adjacent lines).</li><li>file:
+Name of the file that matched</li></ul>
+
+<p>The silent parameter is not neccessary not used, but it may in the future.</p>
+</div>
+<p id="footer">help-search &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/home.html b/deps/npm/html/api/home.html
new file mode 100644
index 0000000000..ad9785ef6d
--- /dev/null
+++ b/deps/npm/html/api/home.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<html>
+ <title>home</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/docs.html">docs</a></h1> <p>Docs for a package in a web browser maybe</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.docs(package, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command tries to guess at the likely location of a package's
+documentation URL, and then tries to open it using the <code>--browser</code>
+config param.</p>
+
+<p>Like other commands, the first parameter is an array. This command only
+uses the first element, which is expected to be a package name with an
+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">home &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/init.html b/deps/npm/html/api/init.html
new file mode 100644
index 0000000000..e1be7f45cb
--- /dev/null
+++ b/deps/npm/html/api/init.html
@@ -0,0 +1,70 @@
+<!doctype html>
+<html>
+ <title>init</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1>npm init(3)</h1> <p>Interactively create a package.json file</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.init(args, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This will ask you a bunch of questions, and then write a package.json for you.</p>
+
+<p>It attempts to make reasonable guesses about what you want things to be set to,
+and then writes a package.json file with the options you've selected.</p>
+
+<p>If you already have a package.json file, it'll read that first, and default to
+the options in there.</p>
+
+<p>It is strictly additive, so it does not delete options from your package.json
+without a really good reason to do so.</p>
+
+<p>Since this function expects to be run on the command-line, it doesn't work very
+well as a programmatically. The best option is to roll your own, and since
+JavaScript makes it stupid simple to output formatted JSON, that is the
+preferred method. If you're sure you want to handle command-line prompting,
+then go ahead and use this programmatically.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<p><a href="../doc/json.html">json(1)</a></p>
+</div>
+<p id="footer">init &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/install.html b/deps/npm/html/api/install.html
new file mode 100644
index 0000000000..b000433bf7
--- /dev/null
+++ b/deps/npm/html/api/install.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<html>
+ <title>install</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/install.html">install</a></h1> <p>install a package programmatically</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.install([where,] packages, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This acts much the same ways as installing on the command-line.</p>
+
+<p>The 'where' parameter is optional and only used internally, and it specifies
+where the packages should be installed to.</p>
+
+<p>The 'packages' parameter is an array of strings. Each element in the array is
+the name of a package to be installed.</p>
+
+<p>Finally, 'callback' is a function that will be called when all packages have been
+installed or when an error has been encountered.</p>
+</div>
+<p id="footer">install &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/link.html b/deps/npm/html/api/link.html
new file mode 100644
index 0000000000..d20e94d19a
--- /dev/null
+++ b/deps/npm/html/api/link.html
@@ -0,0 +1,74 @@
+<!doctype html>
+<html>
+ <title>link</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/link.html">link</a></h1> <p>Symlink a package folder</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.command.link(callback)
+npm.command.link(packages, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Package linking is a two-step process.</p>
+
+<p>Without parameters, link will create a globally-installed
+symbolic link from <code>prefix/package-name</code> to the current folder.</p>
+
+<p>With a parameters, link will create a symlink from the local <code>node_modules</code>
+folder to the global symlink.</p>
+
+<p>When creating tarballs for <code>npm publish</code>, the linked packages are
+"snapshotted" to their current state by resolving the symbolic links.</p>
+
+<p>This is
+handy for installing your own stuff, so that you can work on it and test it
+iteratively without having to continually rebuild.</p>
+
+<p>For example:</p>
+
+<pre><code>npm.commands.link(cb) # creates global link from the cwd
+ # (say redis package)
+npm.commands.link('redis', cb) # link-install the package</code></pre>
+
+<p>Now, any changes to the redis package will be reflected in
+the package in the current working directory</p>
+</div>
+<p id="footer">link &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/list.html b/deps/npm/html/api/list.html
new file mode 100644
index 0000000000..edf862694f
--- /dev/null
+++ b/deps/npm/html/api/list.html
@@ -0,0 +1,88 @@
+<!doctype html>
+<html>
+ <title>list</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/ls.html">ls</a></h1> <p>List installed packages</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.ls(args, [silent,] callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command will print to stdout all the versions of packages that are
+installed, as well as their dependencies, in a tree-structure. It will also
+return that data using the callback.</p>
+
+<p>This command does not take any arguments, but args must be defined.
+Beyond that, if any arguments are passed in, npm will politely warn that it
+does not take positional arguments, though you may set config flags
+like with any other command, such as <code>global</code> to list global packages.</p>
+
+<p>It will print out extraneous, missing, and invalid packages.</p>
+
+<p>If the silent parameter is set to true, nothing will be output to the screen,
+but the data will still be returned.</p>
+
+<h2 id="CONFIGURATION">CONFIGURATION</h2>
+
+<h3 id="long">long</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Show extended information.</p>
+
+<h3 id="parseable">parseable</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Show parseable output instead of tree view.</p>
+
+<h3 id="global">global</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>List packages in the global install prefix instead of in the current
+project.</p>
+
+<p>Note, if parseable is set or long isn't set, then duplicates will be trimmed.
+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">list &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/ln.html b/deps/npm/html/api/ln.html
new file mode 100644
index 0000000000..8b74f75179
--- /dev/null
+++ b/deps/npm/html/api/ln.html
@@ -0,0 +1,74 @@
+<!doctype html>
+<html>
+ <title>ln</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/link.html">link</a></h1> <p>Symlink a package folder</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.command.link(callback)
+npm.command.link(packages, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Package linking is a two-step process.</p>
+
+<p>Without parameters, link will create a globally-installed
+symbolic link from <code>prefix/package-name</code> to the current folder.</p>
+
+<p>With a parameters, link will create a symlink from the local <code>node_modules</code>
+folder to the global symlink.</p>
+
+<p>When creating tarballs for <code>npm publish</code>, the linked packages are
+"snapshotted" to their current state by resolving the symbolic links.</p>
+
+<p>This is
+handy for installing your own stuff, so that you can work on it and test it
+iteratively without having to continually rebuild.</p>
+
+<p>For example:</p>
+
+<pre><code>npm.commands.link(cb) # creates global link from the cwd
+ # (say redis package)
+npm.commands.link('redis', cb) # link-install the package</code></pre>
+
+<p>Now, any changes to the redis package will be reflected in
+the package in the current working directory</p>
+</div>
+<p id="footer">ln &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/load.html b/deps/npm/html/api/load.html
new file mode 100644
index 0000000000..72b5af278e
--- /dev/null
+++ b/deps/npm/html/api/load.html
@@ -0,0 +1,67 @@
+<!doctype html>
+<html>
+ <title>load</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/load.html">load</a></h1> <p>Load config settings</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.load(conf, cb)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>npm.load() must be called before any other function call. Both parameters are
+optional, but the second is recommended.</p>
+
+<p>The first parameter is an object hash of command-line config params, and the
+second parameter is a callback that will be called when npm is loaded and
+ready to serve.</p>
+
+<p>The first parameter should follow a similar structure as the package.json
+config object.</p>
+
+<p>For example, to emulate the --dev flag, pass an object that looks like this:</p>
+
+<pre><code>{
+ "dev": true
+}</code></pre>
+
+<p>For a list of all the available command-line configs, see <code>npm help config</code></p>
+</div>
+<p id="footer">load &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/ls.html b/deps/npm/html/api/ls.html
new file mode 100644
index 0000000000..b5490ac8aa
--- /dev/null
+++ b/deps/npm/html/api/ls.html
@@ -0,0 +1,88 @@
+<!doctype html>
+<html>
+ <title>ls</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/ls.html">ls</a></h1> <p>List installed packages</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.ls(args, [silent,] callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command will print to stdout all the versions of packages that are
+installed, as well as their dependencies, in a tree-structure. It will also
+return that data using the callback.</p>
+
+<p>This command does not take any arguments, but args must be defined.
+Beyond that, if any arguments are passed in, npm will politely warn that it
+does not take positional arguments, though you may set config flags
+like with any other command, such as <code>global</code> to list global packages.</p>
+
+<p>It will print out extraneous, missing, and invalid packages.</p>
+
+<p>If the silent parameter is set to true, nothing will be output to the screen,
+but the data will still be returned.</p>
+
+<h2 id="CONFIGURATION">CONFIGURATION</h2>
+
+<h3 id="long">long</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Show extended information.</p>
+
+<h3 id="parseable">parseable</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Show parseable output instead of tree view.</p>
+
+<h3 id="global">global</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>List packages in the global install prefix instead of in the current
+project.</p>
+
+<p>Note, if parseable is set or long isn't set, then duplicates will be trimmed.
+This means that if a submodule a same dependency as a parent module, then the
+dependency will only be output once.</p>
+</div>
+<p id="footer">ls &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/npm.html b/deps/npm/html/api/npm.html
new file mode 100644
index 0000000000..54ddb42227
--- /dev/null
+++ b/deps/npm/html/api/npm.html
@@ -0,0 +1,126 @@
+<!doctype html>
+<html>
+ <title>npm</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/npm.html">npm</a></h1> <p>node package manager</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>var npm = require("npm")
+npm.load(configObject, function (er, npm) {
+ // use the npm object, now that it's loaded.
+
+ npm.config.set(key, val)
+ val = npm.config.get(key)
+
+ console.log("prefix = %s", npm.prefix)
+
+ npm.commands.install(["package"], cb)
+})</code></pre>
+
+<h2 id="VERSION">VERSION</h2>
+
+<p>1.1.0-alpha-2</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This is the API documentation for npm.
+To find documentation of the command line
+client, see <code><a href="../doc/npm.html">npm(1)</a></code>.</p>
+
+<p>Prior to using npm's commands,
+<code>npm.load()</code> must be called with an object hash of
+top-level configs. In the npm command line client,
+this set of configs is parsed from the command line options. Additional
+configuration params are loaded from two configuration files. See
+<code><a href="../doc/config.html">config(1)</a></code> for more information.</p>
+
+<p>After that, each of the functions are accessible in the
+commands object: <code>npm.commands.&lt;cmd&gt;</code>. See <code><a href="../doc/index.html">index(1)</a></code> for a list of
+all possible commands.</p>
+
+<p>All commands on the command object take an <strong>array</strong> of positional argument
+<strong>strings</strong>. The last argument to any function is a callback. Some
+commands take other optional arguments.</p>
+
+<p>Configs cannot currently be set on a per function basis, as each call to
+npm.config.set will change the value for <em>all</em> npm commands in that process.</p>
+
+<p>To find API documentation for a specific command, run the <code>npm apihelp</code>
+command.</p>
+
+<h2 id="METHODS-AND-PROPERTIES">METHODS AND PROPERTIES</h2>
+
+<ul><li><p><code>npm.load(configs, cb)</code></p><p>Load the configuration params, and call the <code>cb</code> function once the
+globalconfig and userconfig files have been loaded as well, or on
+nextTick if they've already been loaded.</p></li><li><p><code>npm.config</code></p><p>An object for accessing npm configuration parameters.</p><ul><li><p><code>npm.config.get(key)</code></p></li><li><code>npm.config.set(key, val)</code></li><li><p><code>npm.config.del(key)</code></p></li></ul></li><li><p><code>npm.dir</code> or <code>npm.root</code></p><p>The <code>node_modules</code> directory where npm will operate.</p></li><li><p><code>npm.prefix</code></p><p>The prefix where npm is operating. (Most often the current working
+directory.)</p></li><li><p><code>npm.cache</code></p><p>The place where npm keeps JSON and tarballs it fetches from the
+registry (or uploads to the registry).</p></li><li><p><code>npm.tmp</code></p><p>npm's temporary working directory.</p></li><li><p><code>npm.deref</code></p><p>Get the "real" name for a command that has either an alias or
+abbreviation.</p></li></ul>
+
+<h2 id="MAGIC">MAGIC</h2>
+
+<p>For each of the methods in the <code>npm.commands</code> hash, a method is added to
+the npm object, which takes a set of positional string arguments rather
+than an array and a callback.</p>
+
+<p>If the last argument is a callback, then it will use the supplied
+callback. However, if no callback is provided, then it will print out
+the error or results.</p>
+
+<p>For example, this would work in a node repl:</p>
+
+<pre><code>&gt; npm = require("npm")
+&gt; npm.load() // wait a sec...
+&gt; npm.install("dnode", "express")</code></pre>
+
+<p>Note that that <em>won't</em> work in a node program, since the <code>install</code>
+method will get called before the configuration load is completed.</p>
+
+<h2 id="ABBREVS">ABBREVS</h2>
+
+<p>In order to support <code>npm ins foo</code> instead of <code>npm install foo</code>, the
+<code>npm.commands</code> object has a set of abbreviations as well as the full
+method names. Use the <code>npm.deref</code> method to find the real name.</p>
+
+<p>For example:</p>
+
+<pre><code>var cmd = npm.deref("unp") // cmd === "unpublish"</code></pre>
+</div>
+<p id="footer">npm &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/outdated.html b/deps/npm/html/api/outdated.html
new file mode 100644
index 0000000000..f51093030f
--- /dev/null
+++ b/deps/npm/html/api/outdated.html
@@ -0,0 +1,54 @@
+<!doctype html>
+<html>
+ <title>outdated</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/outdated.html">outdated</a></h1> <p>Check for outdated packages</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.outdated([packages,] callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command will check the registry to see if the specified packages are
+currently outdated.</p>
+
+<p>If the 'packages' parameter is left out, npm will check all packages.</p>
+</div>
+<p id="footer">outdated &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/owner.html b/deps/npm/html/api/owner.html
new file mode 100644
index 0000000000..c82f50d9c8
--- /dev/null
+++ b/deps/npm/html/api/owner.html
@@ -0,0 +1,69 @@
+<!doctype html>
+<html>
+ <title>owner</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/owner.html">owner</a></h1> <p>Manage package owners</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.owner(args, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>The first element of the 'args' parameter defines what to do, and the subsequent
+elements depend on the action. Possible values for the action are (order of
+parameters are given in parenthesis):</p>
+
+<ul><li>ls (package):
+List all the users who have access to modify a package and push new versions.
+Handy when you need to know who to bug for help.</li><li>add (user, package):
+Add a new user as a maintainer of a package. This user is enabled to modify
+metadata, publish new versions, and add other owners.</li><li>rm (user, package):
+Remove a user from the package owner list. This immediately revokes their
+privileges.</li></ul>
+
+<p>Note that there is only one level of access. Either you can modify a package,
+or you can't. Future versions may contain more fine-grained access levels, but
+that is not implemented at this time.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../api/publish.html">publish(3)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
+</div>
+<p id="footer">owner &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/pack.html b/deps/npm/html/api/pack.html
new file mode 100644
index 0000000000..a87c52eeee
--- /dev/null
+++ b/deps/npm/html/api/pack.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<html>
+ <title>pack</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/pack.html">pack</a></h1> <p>Create a tarball from a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.pack([packages,] callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>For anything that's installable (that is, a package folder, tarball,
+tarball url, name@tag, name@version, or name), this command will fetch
+it to the cache, and then copy the tarball to the current working
+directory as <code>&lt;name&gt;-&lt;version&gt;.tgz</code>, and then write the filenames out to
+stdout.</p>
+
+<p>If the same package is specified multiple times, then the file will be
+overwritten the second time.</p>
+
+<p>If no arguments are supplied, then npm packs the current package folder.</p>
+</div>
+<p id="footer">pack &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/prefix.html b/deps/npm/html/api/prefix.html
new file mode 100644
index 0000000000..842e2fa24a
--- /dev/null
+++ b/deps/npm/html/api/prefix.html
@@ -0,0 +1,56 @@
+<!doctype html>
+<html>
+ <title>prefix</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/prefix.html">prefix</a></h1> <p>Display prefix</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.prefix(args, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Print the prefix to standard out.</p>
+
+<p>'args' is never used and callback is never called with data.
+'args' must be present or things will break.</p>
+
+<p>This function is not useful programmatically</p>
+</div>
+<p id="footer">prefix &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/prune.html b/deps/npm/html/api/prune.html
new file mode 100644
index 0000000000..b1d3430020
--- /dev/null
+++ b/deps/npm/html/api/prune.html
@@ -0,0 +1,58 @@
+<!doctype html>
+<html>
+ <title>prune</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/prune.html">prune</a></h1> <p>Remove extraneous packages</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.prune([packages,] callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command removes "extraneous" packages.</p>
+
+<p>The first parameter is optional, and it specifies packages to be removed.</p>
+
+<p>No packages are specified, then all packages will be checked.</p>
+
+<p>Extraneous packages are packages that are not listed on the parent
+package's dependencies list.</p>
+</div>
+<p id="footer">prune &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/publish.html b/deps/npm/html/api/publish.html
new file mode 100644
index 0000000000..7ba9c500f9
--- /dev/null
+++ b/deps/npm/html/api/publish.html
@@ -0,0 +1,67 @@
+<!doctype html>
+<html>
+ <title>publish</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/publish.html">publish</a></h1> <p>Publish a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.publish([packages,] callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Publishes a package to the registry so that it can be installed by name.
+Possible values in the 'packages' array are:</p>
+
+<ul><li><p><code>&lt;folder&gt;</code>:
+A folder containing a package.json file</p></li><li><p><code>&lt;tarball&gt;</code>:
+A url or file path to a gzipped tar archive containing a single folder
+with a package.json file inside.</p></li></ul>
+
+<p>If the package array is empty, npm will try to publish something in the
+current working directory.</p>
+
+<p>This command could fails if one of the packages specified already exists in
+the registry. Overwrites when the "force" environment variable is set.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../api/owner.html">owner(3)</a></li></ul>
+</div>
+<p id="footer">publish &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/rebuild.html b/deps/npm/html/api/rebuild.html
new file mode 100644
index 0000000000..c6b363f7fa
--- /dev/null
+++ b/deps/npm/html/api/rebuild.html
@@ -0,0 +1,57 @@
+<!doctype html>
+<html>
+ <title>rebuild</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/rebuild.html">rebuild</a></h1> <p>Rebuild a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.rebuild([packages,] callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command runs the <code>npm build</code> command on each of the matched packages. This is useful
+when you install a new version of node, and must recompile all your C++ addons with
+the new binary. If no 'packages' parameter is specify, every package will be rebuilt.</p>
+
+<h2 id="CONFIGURATION">CONFIGURATION</h2>
+
+<p>See <code>npm help build</code></p>
+</div>
+<p id="footer">rebuild &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/restart.html b/deps/npm/html/api/restart.html
new file mode 100644
index 0000000000..2b23952b1a
--- /dev/null
+++ b/deps/npm/html/api/restart.html
@@ -0,0 +1,62 @@
+<!doctype html>
+<html>
+ <title>restart</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/restart.html">restart</a></h1> <p>Start a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.restart(packages, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This runs a package's "restart" script, if one was provided.
+Otherwise it runs package's "stop" script, if one was provided, and then
+the "start" script.</p>
+
+<p>If no version is specified, then it restarts the "active" version.</p>
+
+<p>npm can run tests on multiple packages. Just specify multiple packages
+in the <code>packages</code> parameter.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../api/start.html">start(3)</a></li><li><a href="../api/stop.html">stop(3)</a></li></ul>
+</div>
+<p id="footer">restart &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/rm.html b/deps/npm/html/api/rm.html
new file mode 100644
index 0000000000..5689434964
--- /dev/null
+++ b/deps/npm/html/api/rm.html
@@ -0,0 +1,57 @@
+<!doctype html>
+<html>
+ <title>rm</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/uninstall.html">uninstall</a></h1> <p>uninstall a package programmatically</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.uninstall(packages, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This acts much the same ways as uninstalling on the command-line.</p>
+
+<p>The 'packages' parameter is an array of strings. Each element in the array is
+the name of a package to be uninstalled.</p>
+
+<p>Finally, 'callback' is a function that will be called when all packages have been
+uninstalled or when an error has been encountered.</p>
+</div>
+<p id="footer">rm &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/root.html b/deps/npm/html/api/root.html
new file mode 100644
index 0000000000..6e4c218fc9
--- /dev/null
+++ b/deps/npm/html/api/root.html
@@ -0,0 +1,56 @@
+<!doctype html>
+<html>
+ <title>root</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/root.html">root</a></h1> <p>Display npm root</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.root(args, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Print the effective <code>node_modules</code> folder to standard out.</p>
+
+<p>'args' is never used and callback is never called with data.
+'args' must be present or things will break.</p>
+
+<p>This function is not useful programmatically.</p>
+</div>
+<p id="footer">root &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/run-script.html b/deps/npm/html/api/run-script.html
new file mode 100644
index 0000000000..9503134908
--- /dev/null
+++ b/deps/npm/html/api/run-script.html
@@ -0,0 +1,64 @@
+<!doctype html>
+<html>
+ <title>run-script</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/run-script.html">run-script</a></h1> <p>Run arbitrary package scripts</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.run-script(args, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This runs an arbitrary command from a package's "scripts" object.</p>
+
+<p>It is used by the test, start, restart, and stop commands, but can be
+called directly, as well.</p>
+
+<p>The 'args' parameter is an array of strings. Behavior depends on the number
+of elements. If there is only one element, npm assumes that the element
+represents a command to be run on the local repository. If there is more than
+one element, then the first is assumed to be the package and the second is
+assumed to be the command to run. All other elements are ignored.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../api/test.html">test(3)</a></li><li><a href="../api/start.html">start(3)</a></li><li><a href="../api/restart.html">restart(3)</a></li><li><a href="../api/stop.html">stop(3)</a></li></ul>
+</div>
+<p id="footer">run-script &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/search.html b/deps/npm/html/api/search.html
new file mode 100644
index 0000000000..68e98c156e
--- /dev/null
+++ b/deps/npm/html/api/search.html
@@ -0,0 +1,67 @@
+<!doctype html>
+<html>
+ <title>search</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/search.html">search</a></h1> <p>Search for packages</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.search(searchTerms, [silent,] [staleness,] callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Search the registry for packages matching the search terms. The available parameters are:</p>
+
+<ul><li>searchTerms:
+Array of search terms. These terms are case-insensitive.</li><li>silent:
+If true, npm will not log anything to the console.</li><li>staleness:
+This is the threshold for stale packages. "Fresh" packages are not refreshed
+from the registry. This value is measured in seconds.</li><li><p>callback:
+Returns an object where each key is the name of a package, and the value
+is information about that package along with a 'words' property, which is
+a space-delimited string of all of the interesting words in that package.
+The only properties included are those that are searched, which generally include:</p><ul><li>name</li><li>description</li><li>maintainers</li><li>url</li><li>keywords</li></ul></li></ul>
+
+<p>A search on the registry excludes any result that does not match all of the
+search terms. It also removes any items from the results that contain an
+excluded term (the "searchexclude" config). The search is case insensitive
+and doesn't try to read your mind (it doesn't do any verb tense matching or the
+like).</p>
+</div>
+<p id="footer">search &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/set.html b/deps/npm/html/api/set.html
new file mode 100644
index 0000000000..647c84b823
--- /dev/null
+++ b/deps/npm/html/api/set.html
@@ -0,0 +1,68 @@
+<!doctype html>
+<html>
+ <title>set</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/config.html">config</a></h1> <p>Manage the npm configuration files</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.config(args, callback)
+var val = npm.config.get(key)
+npm.config.set(key, val)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This function acts much the same way as the command-line version. The first
+element in the array tells config what to do. Possible values are:</p>
+
+<ul><li><p><code>set</code></p><p>Sets a config parameter. The second element in <code>args</code> is interpreted as the
+key, and the third element is interpreted as the value.</p></li><li><p><code>get</code></p><p>Gets the value of a config parameter. The second element in <code>args</code> is the
+key to get the value of.</p></li><li><p><code>delete</code> (<code>rm</code> or <code>del</code>)</p><p>Deletes a parameter from the config. The second element in <code>args</code> is the
+key to delete.</p></li><li><p><code>list</code> (<code>ls</code>)</p><p>Show all configs that aren't secret. No parameters necessary.</p></li><li><p><code>edit</code>:</p><p>Opens the config file in the default editor. This command isn't very useful
+programmatically, but it is made available.</p></li></ul>
+
+<p>To programmatically access npm configuration settings, or set them for
+the duration of a program, use the <code>npm.config.set</code> and <code>npm.config.get</code>
+functions instead.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../api/npm.html">npm(3)</a></li></ul>
+</div>
+<p id="footer">set &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/start.html b/deps/npm/html/api/start.html
new file mode 100644
index 0000000000..7a2313259e
--- /dev/null
+++ b/deps/npm/html/api/start.html
@@ -0,0 +1,54 @@
+<!doctype html>
+<html>
+ <title>start</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/start.html">start</a></h1> <p>Start a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.start(packages, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This runs a package's "start" script, if one was provided.</p>
+
+<p>npm can run tests on multiple packages. Just specify multiple packages
+in the <code>packages</code> parameter.</p>
+</div>
+<p id="footer">start &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/stop.html b/deps/npm/html/api/stop.html
new file mode 100644
index 0000000000..808a3760e1
--- /dev/null
+++ b/deps/npm/html/api/stop.html
@@ -0,0 +1,54 @@
+<!doctype html>
+<html>
+ <title>stop</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/stop.html">stop</a></h1> <p>Stop a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.stop(packages, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This runs a package's "stop" script, if one was provided.</p>
+
+<p>npm can run stop on multiple packages. Just specify multiple packages
+in the <code>packages</code> parameter.</p>
+</div>
+<p id="footer">stop &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/submodule.html b/deps/npm/html/api/submodule.html
new file mode 100644
index 0000000000..0096c4bd25
--- /dev/null
+++ b/deps/npm/html/api/submodule.html
@@ -0,0 +1,68 @@
+<!doctype html>
+<html>
+ <title>submodule</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/submodule.html">submodule</a></h1> <p>Add a package as a git submodule</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.submodule(packages, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>For each package specified, npm will check if it has a git repository url
+in its package.json description then add it as a git submodule at
+<code>node_modules/&lt;pkg name&gt;</code>.</p>
+
+<p>This is a convenience only. From then on, it's up to you to manage
+updates by using the appropriate git commands. npm will stubbornly
+refuse to update, modify, or remove anything with a <code>.git</code> subfolder
+in it.</p>
+
+<p>This command also does not install missing dependencies, if the package
+does not include them in its git repository. If <code>npm ls</code> reports that
+things are missing, you can either install, link, or submodule them yourself,
+or you can do <code>npm explore &lt;pkgname&gt; -- npm install</code> to install the
+dependencies into the submodule folder.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li>npm help json</li><li>git help submodule</li></ul>
+</div>
+<p id="footer">submodule &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/tag.html b/deps/npm/html/api/tag.html
new file mode 100644
index 0000000000..726c2360f0
--- /dev/null
+++ b/deps/npm/html/api/tag.html
@@ -0,0 +1,64 @@
+<!doctype html>
+<html>
+ <title>tag</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/tag.html">tag</a></h1> <p>Tag a published version</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.tag(package@version, tag, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Tags the specified version of the package with the specified tag, or the
+<code>--tag</code> config if not specified.</p>
+
+<p>The 'package@version' is an array of strings, but only the first two elements are
+currently used.</p>
+
+<p>The first element must be in the form package@version, where package
+is the package name and version is the version number (much like installing a
+specific version).</p>
+
+<p>The second element is the name of the tag to tag this version with. If this
+parameter is missing or falsey (empty), the default froom the config will be
+used. For more information about how to set this config, check
+<code>man 3 npm-config</code> for programmatic usage or <code>man npm-config</code> for cli usage.</p>
+</div>
+<p id="footer">tag &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/test.html b/deps/npm/html/api/test.html
new file mode 100644
index 0000000000..ee9a32f219
--- /dev/null
+++ b/deps/npm/html/api/test.html
@@ -0,0 +1,57 @@
+<!doctype html>
+<html>
+ <title>test</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/test.html">test</a></h1> <p>Test a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code> npm.commands.test(packages, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This runs a package's "test" script, if one was provided.</p>
+
+<p>To run tests as a condition of installation, set the <code>npat</code> config to
+true.</p>
+
+<p>npm can run tests on multiple packages. Just specify multiple packages
+in the <code>packages</code> parameter.</p>
+</div>
+<p id="footer">test &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/uninstall.html b/deps/npm/html/api/uninstall.html
new file mode 100644
index 0000000000..70c14cef6c
--- /dev/null
+++ b/deps/npm/html/api/uninstall.html
@@ -0,0 +1,57 @@
+<!doctype html>
+<html>
+ <title>uninstall</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/uninstall.html">uninstall</a></h1> <p>uninstall a package programmatically</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.uninstall(packages, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This acts much the same ways as uninstalling on the command-line.</p>
+
+<p>The 'packages' parameter is an array of strings. Each element in the array is
+the name of a package to be uninstalled.</p>
+
+<p>Finally, 'callback' is a function that will be called when all packages have been
+uninstalled or when an error has been encountered.</p>
+</div>
+<p id="footer">uninstall &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/unpublish.html b/deps/npm/html/api/unpublish.html
new file mode 100644
index 0000000000..a39db5eca4
--- /dev/null
+++ b/deps/npm/html/api/unpublish.html
@@ -0,0 +1,61 @@
+<!doctype html>
+<html>
+ <title>unpublish</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/unpublish.html">unpublish</a></h1> <p>Remove a package from the registry</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.unpublish(package, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This removes a package version from the registry, deleting its
+entry and removing the tarball.</p>
+
+<p>The package parameter must be defined.</p>
+
+<p>Only the first element in the package parameter is used. If there is no first
+element, then npm assumes that the package at the current working directory
+is what is meant.</p>
+
+<p>If no version is specified, or if all versions are removed then
+the root package entry is removed from the registry entirely.</p>
+</div>
+<p id="footer">unpublish &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/update.html b/deps/npm/html/api/update.html
new file mode 100644
index 0000000000..daeff1b811
--- /dev/null
+++ b/deps/npm/html/api/update.html
@@ -0,0 +1,53 @@
+<!doctype html>
+<html>
+ <title>update</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/update.html">update</a></h1> <p>Update a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.update(packages, callback)</code></pre>
+
+<h1>DESCRIPTION</h1>
+
+<p>Updates a package, upgrading it to the latest version. It also installs any missing packages.</p>
+
+<p>The 'packages' argument is an array of packages to update. The 'callback' parameter will be called when done or when an error occurs.</p>
+</div>
+<p id="footer">update &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/version.html b/deps/npm/html/api/version.html
new file mode 100644
index 0000000000..efa7d16c39
--- /dev/null
+++ b/deps/npm/html/api/version.html
@@ -0,0 +1,59 @@
+<!doctype html>
+<html>
+ <title>version</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/version.html">version</a></h1> <p>Bump a package version</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.version(newversion, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Run this in a package directory to bump the version and write the new
+data back to the package.json file.</p>
+
+<p>If run in a git repo, it will also create a version commit and tag, and
+fail if the repo is not clean.</p>
+
+<p>Like all other commands, this function takes a string array as its first
+parameter. The difference, however, is this function will fail if it does
+not have exactly one element. The only element should be a version number.</p>
+</div>
+<p id="footer">version &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/view.html b/deps/npm/html/api/view.html
new file mode 100644
index 0000000000..aaba900763
--- /dev/null
+++ b/deps/npm/html/api/view.html
@@ -0,0 +1,134 @@
+<!doctype html>
+<html>
+ <title>view</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/view.html">view</a></h1> <p>View registry info</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.view(args, [silent,] callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command shows data about a package and prints it to the stream
+referenced by the <code>outfd</code> config, which defaults to stdout.</p>
+
+<p>The "args" parameter is an ordered list that closely resembles the command-line
+usage. The elements should be ordered such that the first element is
+the package and version (package@version). The version is optional. After that,
+the rest of the parameters are fields with optional subfields ("field.subfield")
+which can be used to get only the information desired from the registry.</p>
+
+<p>The callback will be passed all of the data returned by the query.</p>
+
+<p>For example, to get the package registry entry for the <code>connect</code> package,
+you can do this:</p>
+
+<pre><code>npm.commands.view(["connect"], callback)</code></pre>
+
+<p>If no version is specified, "latest" is assumed.</p>
+
+<p>Field names can be specified after the package descriptor.
+For example, to show the dependencies of the <code>ronn</code> package at version
+0.3.5, you could do the following:</p>
+
+<pre><code>npm.commands.view(["ronn@0.3.5", "dependencies"], callback)</code></pre>
+
+<p>You can view child field by separating them with a period.
+To view the git repository URL for the latest version of npm, you could
+do this:</p>
+
+<pre><code>npm.commands.view(["npm", "repository.url"], callback)</code></pre>
+
+<p>For fields that are arrays, requesting a non-numeric field will return
+all of the values from the objects in the list. For example, to get all
+the contributor names for the "express" project, you can do this:</p>
+
+<pre><code>npm.commands.view(["express", "contributors.email"], callback)</code></pre>
+
+<p>You may also use numeric indices in square braces to specifically select
+an item in an array field. To just get the email address of the first
+contributor in the list, you can do this:</p>
+
+<pre><code>npm.commands.view(["express", "contributors[0].email"], callback)</code></pre>
+
+<p>Multiple fields may be specified, and will be printed one after another.
+For exampls, to get all the contributor names and email addresses, you
+can do this:</p>
+
+<pre><code>npm.commands.view(["express", "contributors.name", "contributors.email"], callback)</code></pre>
+
+<p>"Person" fields are shown as a string if they would be shown as an
+object. So, for example, this will show the list of npm contributors in
+the shortened string format. (See <code>npm help json</code> for more on this.)</p>
+
+<pre><code>npm.commands.view(["npm", "contributors"], callback)</code></pre>
+
+<p>If a version range is provided, then data will be printed for every
+matching version of the package. This will show which version of jsdom
+was required by each matching version of yui3:</p>
+
+<pre><code>npm.commands.view(["yui3@'&gt;0.5.4'", "dependencies.jsdom"], callback)</code></pre>
+
+<h2 id="OUTPUT">OUTPUT</h2>
+
+<p>If only a single string field for a single version is output, then it
+will not be colorized or quoted, so as to enable piping the output to
+another command.</p>
+
+<p>If the version range matches multiple versions, than each printed value
+will be prefixed with the version it applies to.</p>
+
+<p>If multiple fields are requested, than each of them are prefixed with
+the field name.</p>
+
+<p>Console output can be disabled by setting the 'silent' parameter to true.</p>
+
+<h2 id="RETURN-VALUE">RETURN VALUE</h2>
+
+<p>The data returned will be an object in this formation:</p>
+
+<pre><code>{ &lt;version&gt;:
+ { &lt;field&gt;: &lt;value&gt;
+ , ... }
+, ... }</code></pre>
+
+<p>corresponding to the list of fields selected.</p>
+</div>
+<p id="footer">view &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/api/whoami.html b/deps/npm/html/api/whoami.html
new file mode 100644
index 0000000000..751e63a307
--- /dev/null
+++ b/deps/npm/html/api/whoami.html
@@ -0,0 +1,56 @@
+<!doctype html>
+<html>
+ <title>whoami</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../api/whoami.html">whoami</a></h1> <p>Display npm username</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm.commands.whoami(args, callback)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Print the <code>username</code> config to standard output.</p>
+
+<p>'args' is never used and callback is never called with data.
+'args' must be present or things will break.</p>
+
+<p>This function is not useful programmatically</p>
+</div>
+<p id="footer">whoami &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/README.html b/deps/npm/html/doc/README.html
new file mode 100644
index 0000000000..89b5e6d850
--- /dev/null
+++ b/deps/npm/html/doc/README.html
@@ -0,0 +1,311 @@
+<!doctype html>
+<html>
+ <title>README</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/npm.html">npm</a></h1> <p>node package manager</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p>This is just enough info to get you up and running.</p>
+
+<p>Much more info available via <code>npm help</code> once it's installed.</p>
+
+<h2 id="IMPORTANT">IMPORTANT</h2>
+
+<p><strong>You need node v0.4 or higher to run this program.</strong></p>
+
+<p>To install an old <strong>and unsupported</strong> version of npm that works on node 0.3
+and prior, clone the git repo and dig through the old tags and branches.</p>
+
+<h2 id="Simple-Install-Unix-only-sorry">Simple Install (Unix only, sorry)</h2>
+
+<p>To install npm with one command, do this:</p>
+
+<pre><code>curl http://npmjs.org/install.sh | sh</code></pre>
+
+<p>To skip the npm 0.x cleanup, do this:</p>
+
+<pre><code>curl http://npmjs.org/install.sh | clean=no sh</code></pre>
+
+<p>To say "yes" to the 0.x cleanup, but skip the prompt:</p>
+
+<pre><code>curl http://npmjs.org/install.sh | clean=yes sh</code></pre>
+
+<p>If you get permission errors, see the section below, entitled
+"Permission Errors on Installation".</p>
+
+<h2 id="Installing-on-Windows-Experimental">Installing on Windows -- Experimental</h2>
+
+<p>Yes, this sucks. A convenient one-liner is coming soon.</p>
+
+<h3 id="Step-1-Drop-the-node-exe-somewhere">Step 1: Drop the node.exe somewhere</h3>
+
+<p>You will probably need the latest version of node, <strong>at least</strong> version
+<code>0.5.8</code> or higher. You can get it from
+<a href="http://nodejs.org/dist/v0.5.8/node.exe">http://nodejs.org/dist/v0.5.8/node.exe</a>.</p>
+
+<h3 id="Step-2-optional-Update-the-PATH-environment-variable">Step 2 (optional): Update the %PATH% environment variable</h3>
+
+<p>Update your <code>%PATH%</code> environment variable in System Properties:
+Advanced: Environment, so that it includes the <code>bin</code> folder you chose.
+The entries are separated by semicolons.</p>
+
+<p>You <em>may</em> be able to do this from the command line using <code>set</code> and
+<code>setx</code>. <code>cd</code> into the <code>bin</code> folder you created in step 1, and do this:</p>
+
+<pre><code>set path=%PATH%;%CD%
+setx path "%PATH%"</code></pre>
+
+<p>This will have the added advantage that you'll be able to simply type
+<code>npm</code> or <code>node</code> in any project folder to access those commands.</p>
+
+<p>If you decide not to update the PATH, and put the node.exe file in
+<code>C:\node\node.exe</code>, then the npm executable will end up <code>C:\node\npm.cmd</code>,
+and you'll have to type <code>C:\node\npm &lt;command&gt;</code> to use it.</p>
+
+<h3 id="Step-3-Install-git">Step 3: Install git</h3>
+
+<p>If you don't already have git,
+<a href="https://git.wiki.kernel.org/index.php/MSysGit:InstallMSysGit">install it</a>.</p>
+
+<p>Run <code>git --version</code> to make sure that it's at least version 1.7.6.</p>
+
+<h3 id="Step-4-install-npm">Step 4: install npm</h3>
+
+<p>Lastly, <strong>after</strong> node.exe, git, and your %PATH% have <em>all</em> been set up
+properly, install npm itself:</p>
+
+<pre><code>git config --system http.sslcainfo /bin/curl-ca-bundle.crt
+git clone --recursive git://github.com/isaacs/npm.git
+cd npm
+node cli.js install npm -gf</code></pre>
+
+<h2 id="Permission-Errors-EACCES-or-EACCESS-on-Installation">Permission Errors (`EACCES` or `EACCESS`) on Installation</h2>
+
+<p>On Windows, you may need to run the command prompt in elevated
+permission mode. (Right-click on cmd.exe, Run as Administrator.)</p>
+
+<p>On Unix, you may need to run as root, or use <code>sudo</code>.</p>
+
+<p><strong>Note</strong>: You would need to <code>sudo</code> the <code>sh</code>, <strong>not</strong> the <code>curl</code>. Fetching
+stuff from the internet typically doesn't require elevated permissions.
+Running it might.</p>
+
+<p>I highly recommend that you first download the file, and make sure that
+it is what you expect, and <em>then</em> run it.</p>
+
+<pre><code>curl -O http://npmjs.org/install.sh
+# inspect file..
+sudo sh install.sh</code></pre>
+
+<h2 id="Installing-on-Cygwin">Installing on Cygwin</h2>
+
+<p>No.</p>
+
+<h2 id="Dev-Install">Dev Install</h2>
+
+<p>To install the latest <strong>unstable</strong> development version from git:</p>
+
+<pre><code>git clone https://github.com/isaacs/npm.git
+cd npm
+git submodule update --init --recursive
+sudo make install # (or: `node cli.js install -gf`)</code></pre>
+
+<p>If you're sitting in the code folder reading this document in your
+terminal, then you've already got the code. Just do:</p>
+
+<pre><code>git submodule update --init --recursive
+sudo make install</code></pre>
+
+<p>and npm will install itself.</p>
+
+<p>If you don't have make, and don't have curl or git, and ALL you have is
+this code and node, you can probably do this:</p>
+
+<pre><code>git submodule update --init --recursive
+sudo node ./cli.js install -g</code></pre>
+
+<p>Note that github tarballs <strong>do not contain submodules</strong>, so
+those won't work. You'll have to also fetch the appropriate submodules
+listed in the .gitmodules file.</p>
+
+<h2 id="Permissions-when-Using-npm-to-Install-Other-Stuff">Permissions when Using npm to Install Other Stuff</h2>
+
+<p><strong>tl;dr</strong></p>
+
+<ul><li>Use <code>sudo</code> for greater safety. Or don't, if you prefer not to.</li><li>npm will downgrade permissions if it's root before running any build
+scripts that package authors specified.</li></ul>
+
+<h3 id="More-details">More details...</h3>
+
+<p>As of version 0.3, it is recommended to run npm as root.
+This allows npm to change the user identifier to the <code>nobody</code> user prior
+to running any package build or test commands.</p>
+
+<p>If you are not the root user, or if you are on a platform that does not
+support uid switching, then npm will not attempt to change the userid.</p>
+
+<p>If you would like to ensure that npm <strong>always</strong> runs scripts as the
+"nobody" user, and have it fail if it cannot downgrade permissions, then
+set the following configuration param:</p>
+
+<pre><code>npm config set unsafe-perm false</code></pre>
+
+<p>This will prevent running in unsafe mode, even as non-root users.</p>
+
+<h2 id="Uninstalling">Uninstalling</h2>
+
+<p>So sad to see you go.</p>
+
+<pre><code>sudo npm uninstall npm -g</code></pre>
+
+<p>Or, if that fails,</p>
+
+<pre><code>sudo make uninstall</code></pre>
+
+<h2 id="More-Severe-Uninstalling">More Severe Uninstalling</h2>
+
+<p>Usually, the above instructions are sufficient. That will remove
+npm, but leave behind anything you've installed.</p>
+
+<p>If you would like to remove all the packages that you have installed,
+then you can use the <code>npm ls</code> command to find them, and then <code>npm rm</code> to
+remove them.</p>
+
+<p>To remove cruft left behind by npm 0.x, you can use the included
+<code>clean-old.sh</code> script file. You can run it conveniently like this:</p>
+
+<pre><code>npm explore npm -g -- sh scripts/clean-old.sh</code></pre>
+
+<p>npm uses two configuration files, one for per-user configs, and another
+for global (every-user) configs. You can view them by doing:</p>
+
+<pre><code>npm config get userconfig # defaults to ~/.npmrc
+npm config get globalconfig # defaults to /usr/local/etc/npmrc</code></pre>
+
+<p>Uninstalling npm does not remove configuration files by default. You
+must remove them yourself manually if you want them gone. Note that
+this means that future npm installs will not remember the settings that
+you have chosen.</p>
+
+<h2 id="Using-npm-Programmatically">Using npm Programmatically</h2>
+
+<p>If you would like to use npm programmatically, you can do that.
+It's not very well documented, but it <em>is</em> rather simple.</p>
+
+<pre><code>var npm = require("npm")
+npm.load(myConfigObject, function (er) {
+ if (er) return handlError(er)
+ npm.commands.install(["some", "args"], function (er, data) {
+ if (er) return commandFailed(er)
+ // command succeeded, and data might have some info
+ })
+ npm.on("log", function (message) { .... })
+})</code></pre>
+
+<p>The <code>load</code> function takes an object hash of the command-line configs.
+The various <code>npm.commands.&lt;cmd&gt;</code> functions take an <strong>array</strong> of
+positional argument <strong>strings</strong>. The last argument to any
+<code>npm.commands.&lt;cmd&gt;</code> function is a callback. Some commands take other
+optional arguments. Read the source.</p>
+
+<p>You cannot set configs individually for any single npm function at this
+time. Since <code>npm</code> is a singleton, any call to <code>npm.config.set</code> will
+change the value for <em>all</em> npm commands in that process.</p>
+
+<p>See <code>./bin/npm-cli.js</code> for an example of pulling config values off of the
+command line arguments using nopt. You may also want to check out <code>npm
+help config</code> to learn about all the options you can set there.</p>
+
+<h2 id="More-Docs">More Docs</h2>
+
+<p>Check out the <a href="http://npmjs.org/doc/">docs</a>,
+especially the
+<a href="http://npmjs.org/doc/faq.html">faq</a>.</p>
+
+<p>You can use the <code>npm help</code> command to read any of them.</p>
+
+<p>If you're a developer, and you want to use npm to publish your program,
+you should
+<a href="http://npmjs.org/doc/developers.html">read this</a></p>
+
+<h2 id="Legal-Stuff">Legal Stuff</h2>
+
+<p>"npm" and "the npm registry" are owned by Isaac Z. Schlueter. All
+rights not explicitly granted in the MIT license are reserved. See the
+included LICENSE file for more details.</p>
+
+<p>"Node.js" and "node" are trademarks owned by Joyent, Inc. npm is not
+officially part of the Node.js project, and is neither owned by nor
+officially affiliated with Joyent, Inc.</p>
+
+<p>The packages in the npm registry are not part of npm itself, and are the
+sole property of their respective maintainers. While every effort is
+made to ensure accountability, there is absolutely no guarantee,
+warrantee, or assertion made as to the quality, fitness for a specific
+purpose, or lack of malice in any given npm package. Modules
+published on the npm registry are not affiliated with or endorsed by
+Joyent, Inc., Isaac Z. Schlueter, Ryan Dahl, or the Node.js project.</p>
+
+<p>If you have a complaint about a package in the npm registry, and cannot
+resolve it with the package owner, please express your concerns to
+Isaac Z. Schlueter at <a href="mailto:i@izs.me">i@izs.me</a>.</p>
+
+<h3 id="In-plain-english">In plain english</h3>
+
+<p>This is mine; not my employer's, not Node's, not Joyent's, not Ryan
+Dahl's.</p>
+
+<p>If you publish something, it's yours, and you are solely accountable
+for it. Not me, not Node, not Joyent, not Ryan Dahl.</p>
+
+<p>If other people publish something, it's theirs. Not mine, not Node's,
+not Joyent's, not Ryan Dahl's.</p>
+
+<p>Yes, you can publish something evil. It will be removed promptly if
+reported, and we'll lose respect for you. But there is no vetting
+process for published modules.</p>
+
+<p>If this concerns you, inspect the source before using packages.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/help.html">help(1)</a></li><li><a href="../doc/index.html">index(1)</a></li></ul>
+</div>
+<p id="footer"><a href="../doc/README.html">README</a> &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/adduser.html b/deps/npm/html/doc/adduser.html
new file mode 100644
index 0000000000..45eff8b91f
--- /dev/null
+++ b/deps/npm/html/doc/adduser.html
@@ -0,0 +1,74 @@
+<!doctype html>
+<html>
+ <title>adduser</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/adduser.html">adduser</a></h1> <p>Add a registry user account</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm adduser</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Create or verify a user named <code>&lt;username&gt;</code> in the npm registry, and
+save the credentials to the <code>.npmrc</code> file.</p>
+
+<p>The username, password, and email are read in from prompts.</p>
+
+<p>You may use this command to change your email address, but not username
+or password.</p>
+
+<p>To reset your password, go to <a href="http://admin.npmjs.org/">http://admin.npmjs.org/</a></p>
+
+<p>You may use this command multiple times with the same user account to
+authorize on a new machine.</p>
+
+<h2 id="CONFIGURATION">CONFIGURATION</h2>
+
+<h3 id="registry">registry</h3>
+
+<p>Default: http://registry.npmjs.org/</p>
+
+<p>The base URL of the npm package registry.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/owner.html">owner(1)</a></li><li><a href="../doc/whoami.html">whoami(1)</a></li></ul>
+</div>
+<p id="footer">adduser &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/author.html b/deps/npm/html/doc/author.html
new file mode 100644
index 0000000000..46c7c57e91
--- /dev/null
+++ b/deps/npm/html/doc/author.html
@@ -0,0 +1,69 @@
+<!doctype html>
+<html>
+ <title>author</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/owner.html">owner</a></h1> <p>Manage package owners</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm owner ls &lt;package name&gt;
+npm owner add &lt;user&gt; &lt;package name&gt;
+npm owner rm &lt;user&gt; &lt;package name&gt;</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Manage ownership of published packages.</p>
+
+<ul><li>ls:
+List all the users who have access to modify a package and push new versions.
+Handy when you need to know who to bug for help.</li><li>add:
+Add a new user as a maintainer of a package. This user is enabled to modify
+metadata, publish new versions, and add other owners.</li><li>rm:
+Remove a user from the package owner list. This immediately revokes their
+privileges.</li></ul>
+
+<p>Note that there is only one level of access. Either you can modify a package,
+or you can't. Future versions may contain more fine-grained access levels, but
+that is not implemented at this time.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<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></ul>
+</div>
+<p id="footer">author &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/bin.html b/deps/npm/html/doc/bin.html
new file mode 100644
index 0000000000..4ab27dc49f
--- /dev/null
+++ b/deps/npm/html/doc/bin.html
@@ -0,0 +1,55 @@
+<!doctype html>
+<html>
+ <title>bin</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/bin.html">bin</a></h1> <p>Display npm bin folder</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm bin</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Print the folder where npm will install executables.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/prefix.html">prefix(1)</a></li><li><a href="../doc/root.html">root(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
+</div>
+<p id="footer">bin &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/bugs.html b/deps/npm/html/doc/bugs.html
new file mode 100644
index 0000000000..4303a05f55
--- /dev/null
+++ b/deps/npm/html/doc/bugs.html
@@ -0,0 +1,71 @@
+<!doctype html>
+<html>
+ <title>bugs</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/bugs.html">bugs</a></h1> <p>Bugs for a package in a web browser maybe</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm bugs &lt;pkgname&gt;</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command tries to guess at the likely location of a package's
+bug tracker URL, and then tries to open it using the <code>--browser</code>
+config param.</p>
+
+<h2 id="CONFIGURATION">CONFIGURATION</h2>
+
+<h3 id="browser">browser</h3>
+
+<ul><li>Default: OS X: <code>"open"</code>, others: <code>"google-chrome"</code></li><li>Type: String</li></ul>
+
+<p>The browser that is called by the <code>npm bugs</code> command to open websites.</p>
+
+<h3 id="registry">registry</h3>
+
+<ul><li>Default: https://registry.npmjs.org/</li><li>Type: url</li></ul>
+
+<p>The base URL of the npm package registry.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/docs.html">docs(1)</a></li><li><a href="../doc/view.html">view(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/json.html">json(1)</a></li></ul>
+</div>
+<p id="footer">bugs &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/build.html b/deps/npm/html/doc/build.html
new file mode 100644
index 0000000000..f70972ef72
--- /dev/null
+++ b/deps/npm/html/doc/build.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<html>
+ <title>build</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/build.html">build</a></h1> <p>Build a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm build &lt;package-folder&gt;</code></pre>
+
+<ul><li><code>&lt;package-folder&gt;</code>:
+A folder containing a <code>package.json</code> file in its root.</li></ul>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This is the plumbing command called by <code>npm link</code> and <code>npm install</code>.</p>
+
+<p>It should generally not be called directly.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/link.html">link(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/json.html">json(1)</a></li></ul>
+</div>
+<p id="footer">build &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/bundle.html b/deps/npm/html/doc/bundle.html
new file mode 100644
index 0000000000..ef8612ba52
--- /dev/null
+++ b/deps/npm/html/doc/bundle.html
@@ -0,0 +1,55 @@
+<!doctype html>
+<html>
+ <title>bundle</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/bundle.html">bundle</a></h1> <p>REMOVED</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>The <code>npm bundle</code> command has been removed in 1.0, for the simple reason
+that it is no longer necessary, as the default behavior is now to
+install packages into the local space.</p>
+
+<p>Just use <code>npm install</code> now to do what <code>npm bundle</code> used to do.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/install.html">install(1)</a></li></ul>
+</div>
+<p id="footer">bundle &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/cache.html b/deps/npm/html/doc/cache.html
new file mode 100644
index 0000000000..05b986c47d
--- /dev/null
+++ b/deps/npm/html/doc/cache.html
@@ -0,0 +1,101 @@
+<!doctype html>
+<html>
+ <title>cache</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/cache.html">cache</a></h1> <p>Manipulates packages cache</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm cache add &lt;tarball file&gt;
+npm cache add &lt;folder&gt;
+npm cache add &lt;tarball url&gt;
+npm cache add &lt;name&gt;@&lt;version&gt;
+
+npm cache ls [&lt;path&gt;]
+
+npm cache clean [&lt;path&gt;]</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Used to add, list, or clear the npm cache folder.</p>
+
+<ul><li><p>add:
+Add the specified package to the local cache. This command is primarily
+intended to be used internally by npm, but it can provide a way to
+add data to the local installation cache explicitly.</p></li><li><p>ls:
+Show the data in the cache. Argument is a path to show in the cache
+folder. Works a bit like the <code>find</code> program, but limited by the
+<code>depth</code> config.</p></li><li><p>clean:
+Delete data out of the cache folder. If an argument is provided, then
+it specifies a subpath to delete. If no argument is provided, then
+the entire cache is cleared.</p></li></ul>
+
+<h2 id="DETAILS">DETAILS</h2>
+
+<p>npm stores cache data in <code>$HOME/.npm</code>. For each package that is added
+to the cache, three pieces of information are stored in
+<code>{cache}/{name}/{version}</code>:</p>
+
+<ul><li>.../package/:
+A folder containing the package contents as they appear in the tarball.</li><li>.../package.json:
+The package.json file, as npm sees it, with overlays applied and a _id attribute.</li><li>.../package.tgz:
+The tarball for that version.</li></ul>
+
+<p>Additionally, whenever a registry request is made, a <code>.cache.json</code> file
+is placed at the corresponding URI, to store the ETag and the requested
+data.</p>
+
+<p>Commands that make non-essential registry requests (such as <code>search</code> and
+<code>view</code>, or the completion scripts) generally specify a minimum timeout.
+If the <code>.cache.json</code> file is younger than the specified timeout, then
+they do not make an HTTP request to the registry.</p>
+
+<h2 id="CONFIGURATION">CONFIGURATION</h2>
+
+<h3 id="cache">cache</h3>
+
+<p>Default: <code>$HOME/.npm</code> on Posix, or <code>$HOME/npm-cache</code> on Windows.</p>
+
+<p>The root cache folder.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/pack.html">pack(1)</a></li></ul>
+</div>
+<p id="footer">cache &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/changelog.html b/deps/npm/html/doc/changelog.html
new file mode 100644
index 0000000000..1980ae2d17
--- /dev/null
+++ b/deps/npm/html/doc/changelog.html
@@ -0,0 +1,69 @@
+<!doctype html>
+<html>
+ <title>changelog</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/changelog.html">changelog</a></h1> <p>Changes</p>
+
+<h2 id="HISTORY">HISTORY</h2>
+
+<h3 id="1-0">1.0</h3>
+
+<ul><li>Greatly simplified folder structure </li><li>Install locally (bundle by default) </li><li>Drastic rearchitecture</li></ul>
+
+<h3 id="0-3">0.3</h3>
+
+<ul><li>More correct permission/uid handling when running as root </li><li>Require node 0.4.0 </li><li>Reduce featureset </li><li>Packages without "main" modules don't export modules</li><li>Remove support for invalid JSON (since node doesn't support it)</li></ul>
+
+<h3 id="0-2">0.2</h3>
+
+<ul><li>First allegedly "stable" release</li><li>Most functionality implemented </li><li>Used shim files and <code>name@version</code> symlinks</li><li>Feature explosion</li><li>Kind of a mess</li></ul>
+
+<h3 id="0-1">0.1</h3>
+
+<ul><li>push to beta, and announce </li><li>Solaris and Cygwin support</li></ul>
+
+<h3 id="0-0">0.0</h3>
+
+<ul><li>Lots of sketches and false starts; abandoned a few times</li><li>Core functionality established</li></ul>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li></ul>
+</div>
+<p id="footer">changelog &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/coding-style.html b/deps/npm/html/doc/coding-style.html
new file mode 100644
index 0000000000..e1dc291193
--- /dev/null
+++ b/deps/npm/html/doc/coding-style.html
@@ -0,0 +1,226 @@
+<!doctype html>
+<html>
+ <title>coding-style</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/coding-style.html">coding-style</a></h1> <p>npm's "funny" coding style</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>npm's coding style is a bit unconventional. It is not different for
+difference's sake, but rather a carefully crafted style that is
+designed to reduce visual clutter and make bugs more apparent.</p>
+
+<p>If you want to contribute to npm (which is very encouraged), you should
+make your code conform to npm's style.</p>
+
+<h2 id="Line-Length">Line Length</h2>
+
+<p>Keep lines shorter than 80 characters. It's better for lines to be
+too short than to be too long. Break up long lists, objects, and other
+statements onto multiple lines.</p>
+
+<h2 id="Indentation">Indentation</h2>
+
+<p>Two-spaces. Tabs are better, but they look like hell in web browsers
+(and on github), and node uses 2 spaces, so that's that.</p>
+
+<p>Configure your editor appropriately.</p>
+
+<h2 id="Curly-braces">Curly braces</h2>
+
+<p>Curly braces belong on the same line as the thing that necessitates them.</p>
+
+<p>Bad:</p>
+
+<pre><code>function ()
+{</code></pre>
+
+<p>Good:</p>
+
+<pre><code>function () {</code></pre>
+
+<p>If a block needs to wrap to the next line, use a curly brace. Don't
+use it if it doesn't.</p>
+
+<p>Bad:</p>
+
+<pre><code>if (foo) { bar() }
+while (foo)
+ bar()</code></pre>
+
+<p>Good:</p>
+
+<pre><code>if (foo) bar()
+while (foo) {
+ bar()
+}</code></pre>
+
+<h2 id="Semicolons">Semicolons</h2>
+
+<p>Don't use them except in four situations:</p>
+
+<ul><li><code>for (;;)</code> loops. They're actually required.</li><li>null loops like: <code>while (something) ;</code> (But you'd better have a good
+reason for doing that.)</li><li>case "foo": doSomething(); break</li><li>In front of a leading ( or [ at the start of the line.
+This prevents the expression from being interpreted
+as a function call or property access, respectively.</li></ul>
+
+<p>Some examples of good semicolon usage:</p>
+
+<pre><code>;(x || y).doSomething()
+;[a, b, c].forEach(doSomething)
+for (var i = 0; i &lt; 10; i ++) {
+ switch (state) {
+ case "begin": start(); continue
+ case "end": finish(); break
+ default: throw new Error("unknown state")
+ }
+ end()
+}</code></pre>
+
+<p>Note that starting lines with <code>-</code> and <code>+</code> also should be prefixed
+with a semicolon, but this is much less common.</p>
+
+<h2 id="Comma-First">Comma First</h2>
+
+<p>If there is a list of things separated by commas, and it wraps
+across multiple lines, put the comma at the start of the next
+line, directly below the token that starts the list. Put the
+final token in the list on a line by itself. For example:</p>
+
+<pre><code>var magicWords = [ "abracadabra"
+ , "gesundheit"
+ , "ventrilo"
+ ]
+ , spells = { "fireball" : function () { setOnFire() }
+ , "water" : function () { putOut() }
+ }
+ , a = 1
+ , b = "abc"
+ , etc
+ , somethingElse</code></pre>
+
+<h2 id="Whitespace">Whitespace</h2>
+
+<p>Put a single space in front of ( for anything other than a function call.
+Also use a single space wherever it makes things more readable.</p>
+
+<p>Don't leave trailing whitespace at the end of lines. Don't indent empty
+lines. Don't use more spaces than are helpful.</p>
+
+<h2 id="Functions">Functions</h2>
+
+<p>Use named functions. They make stack traces a lot easier to read.</p>
+
+<h2 id="Callbacks-Sync-async-Style">Callbacks, Sync/async Style</h2>
+
+<p>Use the asynchronous/non-blocking versions of things as much as possible.
+It might make more sense for npm to use the synchronous fs APIs, but this
+way, the fs and http and child process stuff all uses the same callback-passing
+methodology.</p>
+
+<p>The callback should always be the last argument in the list. Its first
+argument is the Error or null.</p>
+
+<p>Be very careful never to ever ever throw anything. It's worse than useless.
+Just send the error message back as the first argument to the callback.</p>
+
+<h2 id="Errors">Errors</h2>
+
+<p>Always create a new Error object with your message. Don't just return a
+string message to the callback. Stack traces are handy.</p>
+
+<p>Use the <code>require("./utils/log").er</code> function. It takes a callback and an
+error message, and returns an object that will report the message in the
+event of a failure. It's quite handy.</p>
+
+<pre><code>function myThing (args, cb) {
+ getData(args, function (er, data) {
+ if (er) return log.er(cb, "Couldn't get data")(er)
+ doSomethingElse(data, cb)
+ })
+}
+function justHasToWork (cb) {
+ doSomething(log.er(cb, "the doSomething failed."))
+}</code></pre>
+
+<h2 id="Logging">Logging</h2>
+
+<p>Please clean up logs when they are no longer helpful. In particular,
+logging the same object over and over again is not helpful. Logs should
+report what's happening so that it's easier to track down where a fault
+occurs.</p>
+
+<p>Use appropriate log levels. The default log() function logs at the
+"info" level. See <code><a href="../doc/config.html">config(1)</a></code> and search for "loglevel".</p>
+
+<h2 id="Case-naming-etc">Case, naming, etc.</h2>
+
+<p>Use <code>lowerCamelCase</code> for multiword identifiers when they refer to objects,
+functions, methods, members, or anything not specified in this section.</p>
+
+<p>Use <code>UpperCamelCase</code> for class names (things that you'd pass to "new").</p>
+
+<p>Use <code>all-lower-hyphen-css-case</code> for multiword filenames and config keys.</p>
+
+<p>Use named functions. They make stack traces easier to follow.</p>
+
+<p>Use <code>CAPS_SNAKE_CASE</code> for constants, things that should never change
+and are rarely used.</p>
+
+<p>Use a single uppercase letter for function names where the function
+would normally be anonymous, but needs to call itself recursively. It
+makes it clear that it's a "throwaway" function.</p>
+
+<h2 id="null-undefined-false-0">null, undefined, false, 0</h2>
+
+<p>Boolean variables and functions should always be either <code>true</code> or
+<code>false</code>. Don't set it to 0 unless it's supposed to be a number.</p>
+
+<p>When something is intentionally missing or removed, set it to <code>null</code>.</p>
+
+<p>Don't set things to <code>undefined</code>. Reserve that value to mean "not yet
+set to anything."</p>
+
+<p>Boolean objects are verboten.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/npm.html">npm(1)</a></li></ul>
+</div>
+<p id="footer">coding-style &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/completion.html b/deps/npm/html/doc/completion.html
new file mode 100644
index 0000000000..13178c5975
--- /dev/null
+++ b/deps/npm/html/doc/completion.html
@@ -0,0 +1,68 @@
+<!doctype html>
+<html>
+ <title>completion</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/completion.html">completion</a></h1> <p>Tab Completion for npm</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>. &lt;(npm completion)</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Enables tab-completion in all npm commands.</p>
+
+<p>The synopsis above
+loads the completions into your current shell. Adding it to
+your ~/.bashrc or ~/.zshrc will make the completions available
+everywhere.</p>
+
+<p>You may of course also pipe the output of npm completion to a file
+such as <code>/usr/local/etc/bash_completion.d/npm</code> if you have a system
+that will read that file for you.</p>
+
+<p>When <code>COMP_CWORD</code>, <code>COMP_LINE</code>, and <code>COMP_POINT</code> are defined in the
+environment, <code>npm completion</code> acts in "plumbing mode", and outputs
+completions based on the arguments.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/npm.html">npm(1)</a></li></ul>
+</div>
+<p id="footer">completion &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/config.html b/deps/npm/html/doc/config.html
new file mode 100644
index 0000000000..dfd27d5b18
--- /dev/null
+++ b/deps/npm/html/doc/config.html
@@ -0,0 +1,621 @@
+<!doctype html>
+<html>
+ <title>config</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/config.html">config</a></h1> <p>Manage the npm configuration file</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm config set &lt;key&gt; &lt;value&gt; [--global]
+npm config get &lt;key&gt;
+npm config delete &lt;key&gt;
+npm config list
+npm config edit
+npm get &lt;key&gt;
+npm set &lt;key&gt; &lt;value&gt; [--global]</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>npm gets its configuration values from 6 sources, in this priority:</p>
+
+<h3 id="Command-Line-Flags">Command Line Flags</h3>
+
+<p>Putting <code>--foo bar</code> on the command line sets the
+<code>foo</code> configuration parameter to <code>"bar"</code>. A <code>--</code> argument tells the cli
+parser to stop reading flags. A <code>--flag</code> parameter that is at the <em>end</em> of
+the command will be given the value of <code>true</code>.</p>
+
+<h3 id="Environment-Variables">Environment Variables</h3>
+
+<p>Any environment variables that start with <code>npm_config_</code> will be interpreted
+as a configuration parameter. For example, putting <code>npm_config_foo=bar</code> in
+your environment will set the <code>foo</code> configuration parameter to <code>bar</code>. Any
+environment configurations that are not given a value will be given the value
+of <code>true</code>. Config values are case-insensitive, so <code>NPM_CONFIG_FOO=bar</code> will
+work the same.</p>
+
+<h3 id="Per-user-config-file">Per-user config file</h3>
+
+<p><code>$HOME/.npmrc</code> (or the <code>userconfig</code> param, if set above)</p>
+
+<p>This file is an ini-file formatted list of <code>key = value</code> parameters.</p>
+
+<h3 id="Global-config-file">Global config file</h3>
+
+<p><code>$PREFIX/etc/npmrc</code> (or the <code>globalconfig</code> param, if set above):
+This file is an ini-file formatted list of <code>key = value</code> parameters</p>
+
+<h3 id="Built-in-config-file">Built-in config file</h3>
+
+<p><code>path/to/npm/itself/npmrc</code></p>
+
+<p>This is an unchangeable "builtin"
+configuration file that npm keeps consistent across updates. Set
+fields in here using the <code>./configure</code> script that comes with npm.
+This is primarily for distribution maintainers to override default
+configs in a standard and consistent manner.</p>
+
+<h3 id="Default-Configs">Default Configs</h3>
+
+<p>A set of configuration parameters that are internal to npm, and are
+defaults if nothing else is specified.</p>
+
+<h2 id="Sub-commands">Sub-commands</h2>
+
+<p>Config supports the following sub-commands:</p>
+
+<h3 id="set">set</h3>
+
+<pre><code>npm config set key value</code></pre>
+
+<p>Sets the config key to the value.</p>
+
+<p>If value is omitted, then it sets it to "true".</p>
+
+<h3 id="get">get</h3>
+
+<pre><code>npm config get key</code></pre>
+
+<p>Echo the config value to stdout.</p>
+
+<h3 id="list">list</h3>
+
+<pre><code>npm config list</code></pre>
+
+<p>Show all the config settings.</p>
+
+<h3 id="delete">delete</h3>
+
+<pre><code>npm config delete key</code></pre>
+
+<p>Deletes the key from all configuration files.</p>
+
+<h3 id="edit">edit</h3>
+
+<pre><code>npm config edit</code></pre>
+
+<p>Opens the config file in an editor. Use the <code>--global</code> flag to edit the
+global config.</p>
+
+<h2 id="Shorthands-and-Other-CLI-Niceties">Shorthands and Other CLI Niceties</h2>
+
+<p>The following shorthands are parsed on the command-line:</p>
+
+<ul><li><code>-v</code>: <code>--version</code></li><li><code>-h</code>, <code>-?</code>, <code>--help</code>, <code>-H</code>: <code>--usage</code></li><li><code>-s</code>, <code>--silent</code>: <code>--loglevel silent</code></li><li><code>-d</code>: <code>--loglevel info</code></li><li><code>-dd</code>, <code>--verbose</code>: <code>--loglevel verbose</code></li><li><code>-ddd</code>: <code>--loglevel silly</code></li><li><code>-g</code>: <code>--global</code></li><li><code>-l</code>: <code>--long</code></li><li><code>-m</code>: <code>--message</code></li><li><code>-p</code>, <code>--porcelain</code>: <code>--parseable</code></li><li><code>-reg</code>: <code>--registry</code></li><li><code>-v</code>: <code>--version</code></li><li><code>-f</code>: <code>--force</code></li><li><code>-l</code>: <code>--long</code></li><li><code>-desc</code>: <code>--description</code></li><li><code>-S</code>: <code>--save</code></li><li><code>-y</code>: <code>--yes</code></li><li><code>-n</code>: <code>--yes false</code></li><li><code>ll</code> and <code>la</code> commands: <code>ls --long</code></li></ul>
+
+<p>If the specified configuration param resolves unambiguously to a known
+configuration parameter, then it is expanded to that configuration
+parameter. For example:</p>
+
+<pre><code>npm ls --par
+# same as:
+npm ls --parseable</code></pre>
+
+<p>If multiple single-character shorthands are strung together, and the
+resulting combination is unambiguously not some other configuration
+param, then it is expanded to its various component pieces. For
+example:</p>
+
+<pre><code>npm ls -gpld
+# same as:
+npm ls --global --parseable --long --loglevel info</code></pre>
+
+<h2 id="Per-Package-Config-Settings">Per-Package Config Settings</h2>
+
+<p>When running scripts (see <code><a href="../doc/scripts.html">scripts(1)</a></code>)
+the package.json "config" keys are overwritten in the environment if
+there is a config param of <code>&lt;name&gt;[@&lt;version&gt;]:&lt;key&gt;</code>. For example, if
+the package.json has this:</p>
+
+<pre><code>{ "name" : "foo"
+, "config" : { "port" : "8080" }
+, "scripts" : { "start" : "node server.js" } }</code></pre>
+
+<p>and the server.js is this:</p>
+
+<pre><code>http.createServer(...).listen(process.env.npm_package_config_port)</code></pre>
+
+<p>then the user could change the behavior by doing:</p>
+
+<pre><code>npm config set foo:port 80</code></pre>
+
+<h2 id="Config-Settings">Config Settings</h2>
+
+<h3 id="always-auth">always-auth</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Force npm to always require authentication when accessing the registry,
+even for <code>GET</code> requests.</p>
+
+<h3 id="bin-publish">bin-publish</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>If set to true, then binary packages will be created on publish.</p>
+
+<p>This is the way to opt into the "bindist" behavior described below.</p>
+
+<h3 id="bindist">bindist</h3>
+
+<ul><li>Default: Unstable node versions, <code>null</code>, otherwise
+<code>"&lt;node version&gt;-&lt;platform&gt;-&lt;os release&gt;"</code></li><li>Type: String or <code>null</code></li></ul>
+
+<p>Experimental: on stable versions of node, binary distributions will be
+created with this tag. If a user then installs that package, and their
+<code>bindist</code> tag is found in the list of binary distributions, they will
+get that prebuilt version.</p>
+
+<p>Pre-build node packages have their preinstall, install, and postinstall
+scripts stripped (since they are run prior to publishing), and do not
+have their <code>build</code> directories automatically ignored.</p>
+
+<p>It's yet to be seen if this is a good idea.</p>
+
+<h3 id="browser">browser</h3>
+
+<ul><li>Default: OS X: <code>"open"</code>, others: <code>"google-chrome"</code></li><li>Type: String</li></ul>
+
+<p>The browser that is called by the <code>npm docs</code> command to open websites.</p>
+
+<h3 id="ca">ca</h3>
+
+<ul><li>Default: The npm CA certificate</li><li>Type: String or null</li></ul>
+
+<p>The Certificate Authority signing certificate that is trusted for SSL
+connections to the registry.</p>
+
+<p>Set to <code>null</code> to only allow "known" registrars, or to a specific CA cert
+to trust only that specific signing authority.</p>
+
+<p>See also the <code>strict-ssl</code> config.</p>
+
+<h3 id="cache">cache</h3>
+
+<ul><li>Default: Windows: <code>~/npm-cache</code>, Posix: <code>~/.npm</code></li><li>Type: path</li></ul>
+
+<p>The location of npm's cache directory. See <code><a href="../doc/cache.html">cache(1)</a></code></p>
+
+<h3 id="color">color</h3>
+
+<ul><li>Default: true on Posix, false on Windows</li><li>Type: Boolean or <code>"always"</code></li></ul>
+
+<p>If false, never shows colors. If <code>"always"</code> then always shows colors.
+If true, then only prints color codes for tty file descriptors.</p>
+
+<h3 id="depth">depth</h3>
+
+<ul><li>Default: Infinity</li><li>Type: Number</li></ul>
+
+<p>The depth to go when recursing directories for <code>npm ls</code> and
+<code>npm cache ls</code>.</p>
+
+<h3 id="description">description</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>Show the description in <code>npm search</code></p>
+
+<h3 id="dev">dev</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Install <code>dev-dependencies</code> along with packages.</p>
+
+<p>Note that <code>dev-dependencies</code> are also installed if the <code>npat</code> flag is
+set.</p>
+
+<h3 id="editor">editor</h3>
+
+<ul><li>Default: <code>EDITOR</code> environment variable if set, or <code>"vi"</code> on Posix,
+or <code>"notepad"</code> on Windows.</li><li>Type: path</li></ul>
+
+<p>The command to run for <code>npm edit</code> or <code>npm config edit</code>.</p>
+
+<h3 id="force">force</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Makes various commands more forceful.</p>
+
+<ul><li>lifecycle script failure does not block progress.</li><li>publishing clobbers previously published versions.</li><li>skips cache when requesting from the registry.</li><li>prevents checks against clobbering non-npm files.</li></ul>
+
+<h3 id="global">global</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Operates in "global" mode, so that packages are installed into the
+<code>prefix</code> folder instead of the current working directory. See
+<code><a href="../doc/folders.html">folders(1)</a></code> for more on the differences in behavior.</p>
+
+<ul><li>packages are installed into the <code>prefix/node_modules</code> folder, instead of the
+current working directory.</li><li>bin files are linked to <code>prefix/bin</code></li><li>man pages are linked to <code>prefix/share/man</code></li></ul>
+
+<h3 id="globalconfig">globalconfig</h3>
+
+<ul><li>Default: {prefix}/etc/npmrc</li><li>Type: path</li></ul>
+
+<p>The config file to read for global config options.</p>
+
+<h3 id="globalignorefile">globalignorefile</h3>
+
+<ul><li>Default: {prefix}/etc/npmignore</li><li>Type: path</li></ul>
+
+<p>The config file to read for global ignore patterns to apply to all users
+and all projects.</p>
+
+<p>If not found, but there is a "gitignore" file in the
+same directory, then that will be used instead.</p>
+
+<h3 id="group">group</h3>
+
+<ul><li>Default: GID of the current process</li><li>Type: String or Number</li></ul>
+
+<p>The group to use when running package scripts in global mode as the root
+user.</p>
+
+<h3 id="https-proxy">https-proxy</h3>
+
+<ul><li>Default: the <code>HTTPS_PROXY</code> or <code>https_proxy</code> or <code>HTTP_PROXY</code> or
+<code>http_proxy</code> environment variables.</li><li>Type: url</li></ul>
+
+<p>A proxy to use for outgoing https requests.</p>
+
+<h3 id="ignore">ignore</h3>
+
+<ul><li>Default: ""</li><li>Type: string</li></ul>
+
+<p>A white-space separated list of glob patterns of files to always exclude
+from packages when building tarballs.</p>
+
+<h3 id="init-version">init.version</h3>
+
+<ul><li>Default: "0.0.0"</li><li>Type: semver</li></ul>
+
+<p>The value <code>npm init</code> should use by default for the package version.</p>
+
+<h3 id="init-author-name">init.author.name</h3>
+
+<ul><li>Default: "0.0.0"</li><li>Type: String</li></ul>
+
+<p>The value <code>npm init</code> should use by default for the package author's name.</p>
+
+<h3 id="init-author-email">init.author.email</h3>
+
+<ul><li>Default: ""</li><li>Type: String</li></ul>
+
+<p>The value <code>npm init</code> should use by default for the package author's email.</p>
+
+<h3 id="init-author-url">init.author.url</h3>
+
+<ul><li>Default: ""</li><li>Type: String</li></ul>
+
+<p>The value <code>npm init</code> should use by default for the package author's homepage.</p>
+
+<h3 id="link">link</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>If true, then local installs will link if there is a suitable globally
+installed package.</p>
+
+<p>Note that this means that local installs can cause things to be
+installed into the global space at the same time. The link is only done
+if one of the two conditions are met:</p>
+
+<ul><li>The package is not already installed globally, or</li><li>the globally installed version is identical to the version that is
+being installed locally.</li></ul>
+
+<h3 id="logfd">logfd</h3>
+
+<ul><li>Default: stderr file descriptor</li><li>Type: Number or Stream</li></ul>
+
+<p>The location to write log output.</p>
+
+<h3 id="loglevel">loglevel</h3>
+
+<ul><li>Default: "warn"</li><li>Type: String</li><li>Values: "silent", "win", "error", "warn", "info", "verbose", "silly"</li></ul>
+
+<p>What level of logs to report. On failure, <em>all</em> logs are written to
+<code>npm-debug.log</code> in the current working directory.</p>
+
+<h3 id="logprefix">logprefix</h3>
+
+<ul><li>Default: true on Posix, false on Windows</li><li>Type: Boolean</li></ul>
+
+<p>Whether or not to prefix log messages with "npm" and the log level. See
+also "color" and "loglevel".</p>
+
+<h3 id="long">long</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Show extended information in <code>npm ls</code></p>
+
+<h3 id="message">message</h3>
+
+<ul><li>Default: "%s"</li><li>Type: String</li></ul>
+
+<p>Commit message which is used by <code>npm version</code> when creating version commit.</p>
+
+<p>Any "%s" in the message will be replaced with the version number.</p>
+
+<h3 id="node-version">node-version</h3>
+
+<ul><li>Default: process.version</li><li>Type: semver or false</li></ul>
+
+<p>The node version to use when checking package's "engines" hash.</p>
+
+<h3 id="npat">npat</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Run tests on installation and report results to the
+<code>npaturl</code>.</p>
+
+<h3 id="npaturl">npaturl</h3>
+
+<ul><li>Default: Not yet implemented</li><li>Type: url</li></ul>
+
+<p>The url to report npat test results.</p>
+
+<h3 id="onload-script">onload-script</h3>
+
+<ul><li>Default: false</li><li>Type: path</li></ul>
+
+<p>A node module to <code>require()</code> when npm loads. Useful for programmatic
+usage.</p>
+
+<h3 id="outfd">outfd</h3>
+
+<ul><li>Default: standard output file descriptor</li><li>Type: Number or Stream</li></ul>
+
+<p>Where to write "normal" output. This has no effect on log output.</p>
+
+<h3 id="parseable">parseable</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Output parseable results from commands that write to
+standard output.</p>
+
+<h3 id="prefix">prefix</h3>
+
+<ul><li>Default: node's process.installPrefix</li><li>Type: path</li></ul>
+
+<p>The location to install global items. If set on the command line, then
+it forces non-global commands to run in the specified folder.</p>
+
+<h3 id="production">production</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Set to true to run in "production" mode.</p>
+
+<ol><li>devDependencies are not installed at the topmost level when running
+local <code>npm install</code> without any arguments.</li><li>Set the NODE_ENV="production" for lifecycle scripts.</li></ol>
+
+<h3 id="proxy">proxy</h3>
+
+<ul><li>Default: <code>HTTP_PROXY</code> or <code>http_proxy</code> environment variable, or null</li><li>Type: url</li></ul>
+
+<p>A proxy to use for outgoing http requests.</p>
+
+<h3 id="rebuild-bundle">rebuild-bundle</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>Rebuild bundled dependencies after installation.</p>
+
+<h3 id="registry">registry</h3>
+
+<ul><li>Default: https://registry.npmjs.org/</li><li>Type: url</li></ul>
+
+<p>The base URL of the npm package registry.</p>
+
+<h3 id="rollback">rollback</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>Remove failed installs.</p>
+
+<h3 id="save">save</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Save installed packages to a package.json file as dependencies.</p>
+
+<p>Only works if there is already a package.json file present.</p>
+
+<h3 id="searchopts">searchopts</h3>
+
+<ul><li>Default: ""</li><li>Type: String</li></ul>
+
+<p>Space-separated options that are always passed to search.</p>
+
+<h3 id="searchexclude">searchexclude</h3>
+
+<ul><li>Default: ""</li><li>Type: String</li></ul>
+
+<p>Space-separated options that limit the results from search.</p>
+
+<h3 id="shell">shell</h3>
+
+<ul><li>Default: SHELL environment variable, or "bash" on Posix, or "cmd" on
+Windows</li><li>Type: path</li></ul>
+
+<p>The shell to run for the <code>npm explore</code> command.</p>
+
+<h3 id="strict-ssl">strict-ssl</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>Whether or not to do SSL key validation when making requests to the
+registry via https.</p>
+
+<p>See also the <code>ca</code> config.</p>
+
+<h3 id="tag">tag</h3>
+
+<ul><li>Default: latest</li><li>Type: String</li></ul>
+
+<p>If you ask npm to install a package and don't tell it a specific version, then
+it will install the specified tag.</p>
+
+<p>Also the tag that is added to the package@version specified by the <code>npm
+tag</code> command, if no explicit tag is given.</p>
+
+<h3 id="tmp">tmp</h3>
+
+<ul><li>Default: TMPDIR environment variable, or "/tmp"</li><li>Type: path</li></ul>
+
+<p>Where to store temporary files and folders. All temp files are deleted
+on success, but left behind on failure for forensic purposes.</p>
+
+<h3 id="unicode">unicode</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>When set to true, npm uses unicode characters in the tree output. When
+false, it uses ascii characters to draw trees.</p>
+
+<h3 id="unsafe-perm">unsafe-perm</h3>
+
+<ul><li>Default: false if running as root, true otherwise</li><li>Type: Boolean</li></ul>
+
+<p>Set to true to suppress the UID/GID switching when running package
+scripts. If set explicitly to false, then installing as a non-root user
+will fail.</p>
+
+<h3 id="usage">usage</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Set to show short usage output (like the -H output)
+instead of complete help when doing <code><a href="../doc/help.html">help(1)</a></code>.</p>
+
+<h3 id="user">user</h3>
+
+<ul><li>Default: "nobody"</li><li>Type: String or Number</li></ul>
+
+<p>The UID to set to when running package scripts as root.</p>
+
+<h3 id="username">username</h3>
+
+<ul><li>Default: null</li><li>Type: String</li></ul>
+
+<p>The username on the npm registry. Set with <code>npm adduser</code></p>
+
+<h3 id="userconfig">userconfig</h3>
+
+<ul><li>Default: ~/.npmrc</li><li>Type: path</li></ul>
+
+<p>The location of user-level configuration settings.</p>
+
+<h3 id="userignorefile">userignorefile</h3>
+
+<ul><li>Default: ~/.npmignore</li><li>Type: path</li></ul>
+
+<p>The location of a user-level ignore file to apply to all packages.</p>
+
+<p>If not found, but there is a .gitignore file in the same directory, then
+that will be used instead.</p>
+
+<h3 id="umask">umask</h3>
+
+<ul><li>Default: 022</li><li>Type: Octal numeric string</li></ul>
+
+<p>The "umask" value to use when setting the file creation mode on files
+and folders.</p>
+
+<p>Folders and executables are given a mode which is <code>0777</code> masked against
+this value. Other files are given a mode which is <code>0666</code> masked against
+this value. Thus, the defaults are <code>0755</code> and <code>0644</code> respectively.</p>
+
+<h3 id="version">version</h3>
+
+<ul><li>Default: false</li><li>Type: boolean</li></ul>
+
+<p>If true, output the npm version and exit successfully.</p>
+
+<p>Only relevant when specified explicitly on the command line.</p>
+
+<h3 id="viewer">viewer</h3>
+
+<ul><li>Default: "man" on Posix, "browser" on Windows</li><li>Type: path</li></ul>
+
+<p>The program to use to view help content.</p>
+
+<p>Set to <code>"browser"</code> to view html help content in the default web browser.</p>
+
+<h3 id="yes">yes</h3>
+
+<ul><li>Default: null</li><li>Type: Boolean or null</li></ul>
+
+<p>If set to <code>null</code>, then prompt the user for responses in some
+circumstances.</p>
+
+<p>If set to <code>true</code>, then answer "yes" to any prompt. If set to <code>false</code>
+then answer "no" to any prompt.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/npm.html">npm(1)</a></li></ul>
+</div>
+<p id="footer">config &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/deprecate.html b/deps/npm/html/doc/deprecate.html
new file mode 100644
index 0000000000..a8dfad184e
--- /dev/null
+++ b/deps/npm/html/doc/deprecate.html
@@ -0,0 +1,64 @@
+<!doctype html>
+<html>
+ <title>deprecate</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/deprecate.html">deprecate</a></h1> <p>Deprecate a version of a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm deprecate &lt;name&gt;[@&lt;version&gt;] &lt;message&gt;</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command will update the npm registry entry for a package, providing
+a deprecation warning to all who attempt to install it.</p>
+
+<p>It works on version ranges as well as specific versions, so you can do
+something like this:</p>
+
+<pre><code>npm deprecate my-thing@"&lt; 0.2.3" "critical bug fixed in v0.2.3"</code></pre>
+
+<p>Note that you must be the package owner to deprecate something. See the
+<code>owner</code> and <code>adduser</code> help topics.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
+</div>
+<p id="footer">deprecate &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/developers.html b/deps/npm/html/doc/developers.html
new file mode 100644
index 0000000000..ad3d88ddcd
--- /dev/null
+++ b/deps/npm/html/doc/developers.html
@@ -0,0 +1,185 @@
+<!doctype html>
+<html>
+ <title>developers</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/developers.html">developers</a></h1> <p>Developer Guide</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>So, you've decided to use npm to develop (and maybe publish/deploy)
+your project.</p>
+
+<p>Fantastic!</p>
+
+<p>There are a few things that you need to do above the simple steps
+that your users will do to install your program.</p>
+
+<h2 id="About-These-Documents">About These Documents</h2>
+
+<p>These are man pages. If you install npm, you should be able to
+then do <code>man npm-thing</code> to get the documentation on a particular
+topic, or <code>npm help thing</code> to see the same information.</p>
+
+<h2 id="What-is-a-package">What is a `package`</h2>
+
+<p>A package is:</p>
+
+<ul><li>a) a folder containing a program described by a package.json file</li><li>b) a gzipped tarball containing (a)</li><li>c) a url that resolves to (b)</li><li>d) a <code>&lt;name&gt;@&lt;version&gt;</code> that is published on the registry with (c)</li><li>e) a <code>&lt;name&gt;@&lt;tag&gt;</code> that points to (d)</li><li>f) a <code>&lt;name&gt;</code> that has a "latest" tag satisfying (e)</li></ul>
+
+<p>Even if you never publish your package, you can still get a lot of
+benefits of using npm if you just want to write a node program (a), and
+perhaps if you also want to be able to easily install it elsewhere
+after packing it up into a tarball (b).</p>
+
+<h2 id="The-package-json-File">The package.json File</h2>
+
+<p>You need to have a <code>package.json</code> file in the root of your project to do
+much of anything with npm. That is basically the whole interface.</p>
+
+<p>See <code><a href="../doc/json.html">json(1)</a></code> for details about what goes in that file. At the very
+least, you need:</p>
+
+<ul><li><p>name:
+This should be a string that identifies your project. Please do not
+use the name to specify that it runs on node, or is in JavaScript.
+You can use the "engines" field to explicitly state the versions of
+node (or whatever else) that your program requires, and it's pretty
+well assumed that it's javascript.</p><p>It does not necessarily need to match your github repository name.</p><p>So, <code>node-foo</code> and <code>bar-js</code> are bad names. <code>foo</code> or <code>bar</code> are better.</p></li><li><p>version:
+A semver-compatible version.</p></li><li><p>engines:
+Specify the versions of node (or whatever else) that your program
+runs on. The node API changes a lot, and there may be bugs or new
+functionality that you depend on. Be explicit.</p></li><li><p>author:
+Take some credit.</p></li><li><p>scripts:
+If you have a special compilation or installation script, then you
+should put it in the <code>scripts</code> hash. You should definitely have at
+least a basic smoke-test command as the "scripts.test" field.
+See <a href="../doc/scripts.html">scripts(1)</a>.</p></li><li><p>main:
+If you have a single module that serves as the entry point to your
+program (like what the "foo" package gives you at require("foo")),
+then you need to specify that in the "main" field.</p></li><li><p>directories:
+This is a hash of folders. The best ones to include are "lib" and
+"doc", but if you specify a folder full of man pages in "man", then
+they'll get installed just like these ones.</p></li></ul>
+
+<p>You can use <code>npm init</code> in the root of your package in order to get you
+started with a pretty basic package.json file. See <code><a href="../doc/init.html">init(1)</a></code> for
+more info.</p>
+
+<h2 id="Keeping-files-out-of-your-package">Keeping files *out* of your package</h2>
+
+<p>Use a <code>.npmignore</code> file to keep stuff out of your package. If there's
+no .npmignore file, but there <em>is</em> a .gitignore file, then npm will
+ignore the stuff matched by the .gitignore file. If you <em>want</em> to
+include something that is excluded by your .gitignore file, you can
+create an empty .npmignore file to override it.</p>
+
+<h2 id="Link-Packages">Link Packages</h2>
+
+<p><code>npm link</code> is designed to install a development package and see the
+changes in real time without having to keep re-installing it. (You do
+need to either re-link or <code>npm rebuild -g</code> to update compiled packages,
+of course.)</p>
+
+<p>More info at <code><a href="../doc/link.html">link(1)</a></code>.</p>
+
+<h2 id="Before-Publishing-Make-Sure-Your-Package-Installs-and-Works">Before Publishing: Make Sure Your Package Installs and Works</h2>
+
+<p><strong>This is important.</strong></p>
+
+<p>If you can not install it locally, you'll have
+problems trying to publish it. Or, worse yet, you'll be able to
+publish it, but you'll be publishing a broken or pointless package.
+So don't do that.</p>
+
+<p>In the root of your package, do this:</p>
+
+<pre><code>npm install . -g</code></pre>
+
+<p>That'll show you that it's working. If you'd rather just create a symlink
+package that points to your working directory, then do this:</p>
+
+<pre><code>npm link</code></pre>
+
+<p>Use <code>npm ls -g</code> to see if it's there.</p>
+
+<p>To test a local install, go into some other folder, and then do:</p>
+
+<pre><code>cd ../some-other-folder
+npm install ../my-package</code></pre>
+
+<p>to install it locally into the node_modules folder in that other place.</p>
+
+<p>Then go into the node-repl, and try using require("my-thing") to
+bring in your module's main module.</p>
+
+<h2 id="Create-a-User-Account">Create a User Account</h2>
+
+<p>Create a user with the adduser command. It works like this:</p>
+
+<pre><code>npm adduser</code></pre>
+
+<p>and then follow the prompts.</p>
+
+<p>This is documented better in <a href="../doc/adduser.html">adduser(1)</a>.</p>
+
+<h2 id="Publish-your-package">Publish your package</h2>
+
+<p>This part's easy. IN the root of your folder, do this:</p>
+
+<pre><code>npm publish</code></pre>
+
+<p>You can give publish a url to a tarball, or a filename of a tarball,
+or a path to a folder.</p>
+
+<p>Note that pretty much <strong>everything in that folder will be exposed</strong>
+by default. So, if you have secret stuff in there, use a <code>.npminclude</code>
+or <code>.npmignore</code> file to list out the globs to include/ignore, or publish
+from a fresh checkout.</p>
+
+<h2 id="Brag-about-it">Brag about it</h2>
+
+<p>Send emails, write blogs, blab in IRC.</p>
+
+<p>Tell the world how easy it is to install your program!</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/init.html">init(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li></ul>
+</div>
+<p id="footer">developers &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/docs.html b/deps/npm/html/doc/docs.html
new file mode 100644
index 0000000000..a76807d59b
--- /dev/null
+++ b/deps/npm/html/doc/docs.html
@@ -0,0 +1,72 @@
+<!doctype html>
+<html>
+ <title>docs</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/docs.html">docs</a></h1> <p>Docs for a package in a web browser maybe</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm docs &lt;pkgname&gt;
+npm home &lt;pkgname&gt;</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command tries to guess at the likely location of a package's
+documentation URL, and then tries to open it using the <code>--browser</code>
+config param.</p>
+
+<h2 id="CONFIGURATION">CONFIGURATION</h2>
+
+<h3 id="browser">browser</h3>
+
+<ul><li>Default: OS X: <code>"open"</code>, others: <code>"google-chrome"</code></li><li>Type: String</li></ul>
+
+<p>The browser that is called by the <code>npm docs</code> command to open websites.</p>
+
+<h3 id="registry">registry</h3>
+
+<ul><li>Default: https://registry.npmjs.org/</li><li>Type: url</li></ul>
+
+<p>The base URL of the npm package registry.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/view.html">view(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/json.html">json(1)</a></li></ul>
+</div>
+<p id="footer">docs &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/edit.html b/deps/npm/html/doc/edit.html
new file mode 100644
index 0000000000..18e07b6502
--- /dev/null
+++ b/deps/npm/html/doc/edit.html
@@ -0,0 +1,72 @@
+<!doctype html>
+<html>
+ <title>edit</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/edit.html">edit</a></h1> <p>Edit an installed package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm edit &lt;name&gt;[@&lt;version&gt;]</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Opens the package folder in the default editor (or whatever you've
+configured as the npm <code>editor</code> config -- see <code><a href="../doc/config.html">config(1)</a></code>.)</p>
+
+<p>After it has been edited, the package is rebuilt so as to pick up any
+changes in compiled packages.</p>
+
+<p>For instance, you can do <code>npm install connect</code> to install connect
+into your package, and then <code>npm edit connect</code> to make a few
+changes to your locally installed copy.</p>
+
+<h2 id="CONFIGURATION">CONFIGURATION</h2>
+
+<h3 id="editor">editor</h3>
+
+<ul><li>Default: <code>EDITOR</code> environment variable if set, or <code>"vi"</code> on Posix,
+or <code>"notepad"</code> on Windows.</li><li>Type: path</li></ul>
+
+<p>The command to run for <code>npm edit</code> or <code>npm config edit</code>.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/explore.html">explore(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
+</div>
+<p id="footer">edit &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/explore.html b/deps/npm/html/doc/explore.html
new file mode 100644
index 0000000000..a58657a369
--- /dev/null
+++ b/deps/npm/html/doc/explore.html
@@ -0,0 +1,75 @@
+<!doctype html>
+<html>
+ <title>explore</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/explore.html">explore</a></h1> <p>Browse an installed package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm explore &lt;name&gt;[@&lt;version&gt;] [ -- &lt;cmd&gt;]</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Spawn a subshell in the directory of the installed package specified.</p>
+
+<p>If a command is specified, then it is run in the subshell, which then
+immediately terminates.</p>
+
+<p>This is particularly handy in the case of git submodules in the
+<code>node_modules</code> folder:</p>
+
+<pre><code>npm explore some-dependency -- git pull origin master</code></pre>
+
+<p>Note that the package is <em>not</em> automatically rebuilt afterwards, so be
+sure to use <code>npm rebuild &lt;pkg&gt;</code> if you make any changes.</p>
+
+<h2 id="CONFIGURATION">CONFIGURATION</h2>
+
+<h3 id="shell">shell</h3>
+
+<ul><li>Default: SHELL environment variable, or "bash" on Posix, or "cmd" on
+Windows</li><li>Type: path</li></ul>
+
+<p>The shell to run for the <code>npm explore</code> command.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/submodule.html">submodule(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/edit.html">edit(1)</a></li><li><a href="../doc/rebuild.html">rebuild(1)</a></li><li><a href="../doc/build.html">build(1)</a></li><li><a href="../doc/install.html">install(1)</a></li></ul>
+</div>
+<p id="footer">explore &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/faq.html b/deps/npm/html/doc/faq.html
new file mode 100644
index 0000000000..b5458b11a9
--- /dev/null
+++ b/deps/npm/html/doc/faq.html
@@ -0,0 +1,250 @@
+<!doctype html>
+<html>
+ <title>faq</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/faq.html">faq</a></h1> <p>Frequently Asked Questions</p>
+
+<h2 id="Where-can-I-find-these-docs-in-HTML">Where can I find these docs in HTML?</h2>
+
+<p><a href="http://npmjs.org/doc/">http://npmjs.org/doc/</a>, or run:</p>
+
+<pre><code>npm config set viewer browser</code></pre>
+
+<p>to open these documents in your default web browser rather than <code>man</code>.</p>
+
+<h2 id="It-didn-t-work">It didn't work.</h2>
+
+<p>That's not really a question.</p>
+
+<h2 id="Why-didn-t-it-work">Why didn't it work?</h2>
+
+<p>I don't know yet.</p>
+
+<p>Read the error output, and if you can't figure out what it means,
+do what it says and post a bug with all the information it asks for.</p>
+
+<h2 id="Where-does-npm-put-stuff">Where does npm put stuff?</h2>
+
+<p>See <code><a href="../doc/folders.html">folders(1)</a></code></p>
+
+<p>tl;dr:</p>
+
+<ul><li>Use the <code>npm root</code> command to see where modules go, and the <code>npm bin</code>
+command to see where executables go</li><li>Global installs are different from local installs. If you install
+something with the <code>-g</code> flag, then its executables go in <code>npm bin -g</code>
+and its modules go in <code>npm root -g</code>.</li></ul>
+
+<h2 id="How-do-I-install-something-everywhere">How do I install something everywhere?</h2>
+
+<p>Install it globally by tacking <code>-g</code> or <code>--global</code> to the command.</p>
+
+<h2 id="I-installed-something-globally-but-I-can-t-require-it">I installed something globally, but I can't `require()` it</h2>
+
+<p>Install it locally.</p>
+
+<h2 id="I-don-t-wanna">I don't wanna.</h2>
+
+<p>Check out <code>npm link</code>. You might like it.</p>
+
+<h2 id="No-I-really-want-0-x-style-everything-global-style">No, I really want 0.x style 'everything global' style.</h2>
+
+<p>Ok, fine. Do this:</p>
+
+<pre><code>echo 'export NODE_PATH="'$(npm root -g)'"' &gt;&gt; ~/.bashrc
+. ~/.bashrc
+npm config set global true</code></pre>
+
+<p>This is not recommended.</p>
+
+<p>Many things <strong>will not work</strong> if you do this. Make sure you read and
+understand <code><a href="../doc/config.html">config(1)</a></code> and <code><a href="../doc/global.html">global(1)</a></code> before you complain
+about things being broken.</p>
+
+<p>When you realize what a mistake it was, do this to switch back:</p>
+
+<pre><code>npm config delete global --local</code></pre>
+
+<h2 id="If-npm-is-an-acronym-why-is-it-never-capitalized">If 'npm' is an acronym, why is it never capitalized?</h2>
+
+<p>Contrary to the belief of many, "npm" is not in fact an abbreviation for
+"Node Package Manager". It is a recursive bacronymic abbreviation for
+"npm is not an acronym". (If it was "ninaa", then it would be an
+acronym, and thus incorrectly named.)</p>
+
+<p>"NPM", however, <em>is</em> an acronym (more precisely, a capitonym) for the
+National Association of Pastoral Musicians. You can learn more
+about them at <a href="http://npm.org/">http://npm.org/</a>.</p>
+
+<p>In software, "NPM" is a non-parametric mapping utility written by
+Chris Rorden. You can analyze pictures of brains with it. Learn more
+about the (capitalized) NPM program at <a href="http://www.cabiatl.com/mricro/npm/">http://www.cabiatl.com/mricro/npm/</a>.</p>
+
+<p>The first seed that eventually grew into this flower was a bash utility
+named "pm", which was a shortened descendent of "pkgmakeinst", a
+bash function that was used to install various different things on different
+platforms, most often using Yahoo's <code>yinst</code>. If <code>npm</code> was ever an
+acronym for anything, it was <code>node pm</code> or maybe <code>new pm</code>.</p>
+
+<p>So, in all seriousness, the "npm" project is named after its command-line
+utility, which was organically selected to be easily typed by a right-handed
+programmer using a US QWERTY keyboard layout, ending with the
+right-ring-finger in a postition to type the <code>-</code> key for flags and
+other command-line arguments. That command-line utility is always
+lower-case, though it starts most sentences it is a part of.</p>
+
+<h2 id="How-do-I-list-installed-packages">How do I list installed packages?</h2>
+
+<p><code>npm ls</code></p>
+
+<h2 id="How-do-I-search-for-packages">How do I search for packages?</h2>
+
+<p><code>npm search</code></p>
+
+<p>Arguments are greps. <code>npm search jsdom</code> shows jsdom packages.</p>
+
+<h2 id="How-do-I-update-npm">How do I update npm?</h2>
+
+<pre><code>npm update npm -g</code></pre>
+
+<p>You can also update all outdated local packages by doing <code>npm update</code> without
+any arguments, or global packages by doing <code>npm update -g</code>.</p>
+
+<p>Occasionally, the version of npm will progress such that the current
+version cannot be properly installed with the version that you have
+installed already. (Consider, if there is ever a bug in the <code>update</code>
+command.)</p>
+
+<p>In those cases, you can do this:</p>
+
+<pre><code>curl http://npmjs.org/install.sh | sh</code></pre>
+
+<h2 id="What-is-a-package">What is a `package`?</h2>
+
+<p>A package is:</p>
+
+<ul><li>a) a folder containing a program described by a package.json file</li><li>b) a gzipped tarball containing (a)</li><li>c) a url that resolves to (b)</li><li>d) a <code>&lt;name&gt;@&lt;version&gt;</code> that is published on the registry with (c)</li><li>e) a <code>&lt;name&gt;@&lt;tag&gt;</code> that points to (d)</li><li>f) a <code>&lt;name&gt;</code> that has a "latest" tag satisfying (e)</li><li>g) a <code>git</code> url that, when cloned, results in (a).</li></ul>
+
+<p>Even if you never publish your package, you can still get a lot of
+benefits of using npm if you just want to write a node program (a), and
+perhaps if you also want to be able to easily install it elsewhere
+after packing it up into a tarball (b).</p>
+
+<p>Git urls can be of the form:</p>
+
+<pre><code>git://github.com/user/project.git#commit-ish
+git+ssh://user@hostname:project.git#commit-ish
+git+http://user@hostname/project/blah.git#commit-ish
+git+https://user@hostname/project/blah.git#commit-ish</code></pre>
+
+<p>The <code>commit-ish</code> can be any tag, sha, or branch which can be supplied as
+an argument to <code>git checkout</code>. The default is <code>master</code>.</p>
+
+<h2 id="How-do-I-install-node-with-npm">How do I install node with npm?</h2>
+
+<p>You don't. Try one of these:</p>
+
+<ul><li><a href="http://github.com/isaacs/nave">http://github.com/isaacs/nave</a></li><li><a href="http://github.com/visionmedia/n">http://github.com/visionmedia/n</a></li><li><a href="http://github.com/creationix/nvm">http://github.com/creationix/nvm</a></li></ul>
+
+<h2 id="How-can-I-use-npm-for-development">How can I use npm for development?</h2>
+
+<p>See <code><a href="../doc/developers.html">developers(1)</a></code> and <code><a href="../doc/json.html">json(1)</a></code>.</p>
+
+<p>You'll most likely want to <code>npm link</code> your development folder. That's
+awesomely handy.</p>
+
+<p>To set up your own private registry, check out <code><a href="../doc/registry.html">registry(1)</a></code>.</p>
+
+<h2 id="Can-I-list-a-url-as-a-dependency">Can I list a url as a dependency?</h2>
+
+<p>Yes. It should be a url to a gzipped tarball containing a single folder
+that has a package.json in its root, or a git url.
+(See "what is a package?" above.)</p>
+
+<h2 id="How-do-I-symlink-to-a-dev-folder-so-I-don-t-have-to-keep-re-installing">How do I symlink to a dev folder so I don't have to keep re-installing?</h2>
+
+<p>See <code><a href="../doc/link.html">link(1)</a></code></p>
+
+<h2 id="The-package-registry-website-What-is-that-exactly">The package registry website. What is that exactly?</h2>
+
+<p>See <code><a href="../doc/registry.html">registry(1)</a></code>.</p>
+
+<h2 id="What-s-up-with-the-insecure-channel-warnings">What'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't publish. How do I reset it?</h2>
+
+<p>Go to <a href="http://admin.npmjs.org/reset">http://admin.npmjs.org/reset</a>.</p>
+
+<h2 id="I-get-ECONNREFUSED-a-lot-What-s-up">I get ECONNREFUSED a lot. What's up?</h2>
+
+<p>Either the registry is down, or node's DNS isn't able to reach out.
+This happens a lot if you don't follow <em>all</em> the steps in the Cygwin
+setup doc.</p>
+
+<p>To check if the registry is down, open up
+<a href="http://registry.npmjs.org/-/short">http://registry.npmjs.org/-/short</a>
+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'll have someone kick it or something.</p>
+
+<h2 id="Who-does-npm">Who does npm?</h2>
+
+<p><code>npm view npm author</code></p>
+
+<p><code>npm view npm contributors</code></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>
+
+<ul><li><a href="mailto:npm-@googlegroups.com">npm-@googlegroups.com</a></li><li><a href="http://github.com/isaacs/npm/issues">http://github.com/isaacs/npm/issues</a></li></ul>
+
+<h2 id="Why-does-npm-hate-me">Why does npm hate me?</h2>
+
+<p>npm is not capable of hatred. It loves everyone, especially you.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li></ul>
+</div>
+<p id="footer">faq &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/find.html b/deps/npm/html/doc/find.html
new file mode 100644
index 0000000000..8cd0d5cf1f
--- /dev/null
+++ b/deps/npm/html/doc/find.html
@@ -0,0 +1,75 @@
+<!doctype html>
+<html>
+ <title>find</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/search.html">search</a></h1> <p>Search for packages</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm search [search terms ...]</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Search the registry for packages matching the search terms.</p>
+
+<h2 id="CONFIGURATION">CONFIGURATION</h2>
+
+<h3 id="description">description</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>Show the description in <code>npm search</code></p>
+
+<h3 id="searchopts">searchopts</h3>
+
+<ul><li>Default: ""</li><li>Type: String</li></ul>
+
+<p>Space-separated options that are always passed to search.</p>
+
+<h3 id="searchexclude">searchexclude</h3>
+
+<ul><li>Default: ""</li><li>Type: String</li></ul>
+
+<p>Space-separated options that limit the results from search.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<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">find &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/folders.html b/deps/npm/html/doc/folders.html
new file mode 100644
index 0000000000..86ce9a509e
--- /dev/null
+++ b/deps/npm/html/doc/folders.html
@@ -0,0 +1,240 @@
+<!doctype html>
+<html>
+ <title>folders</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/folders.html">folders</a></h1> <p>Folder Structures Used by npm</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>npm puts various things on your computer. That's its job.</p>
+
+<p>This document will tell you what it puts where.</p>
+
+<h3 id="tl-dr">tl;dr</h3>
+
+<ul><li>Local install (default): puts stuff in <code>./node_modules</code> of the current
+package root.</li><li>Global install (with <code>-g</code>): puts stuff in /usr/local or wherever node
+is installed.</li><li>Install it <strong>locally</strong> if you're going to <code>require()</code> it.</li><li>Install it <strong>globally</strong> if you're going to run it on the command line.</li><li>If you need both, then install it in both places, or use <code>npm link</code>.</li></ul>
+
+<h3 id="prefix-Configuration">prefix Configuration</h3>
+
+<p>The <code>prefix</code> config defaults to the location where node is installed.
+On most systems, this is <code>/usr/local</code>, and most of the time is the same
+as node's <code>process.installPrefix</code>.</p>
+
+<p>On windows, this is the exact location of the node.exe binary. On Unix
+systems, it's one level up, since node is typically installed at
+<code>{prefix}/bin/node</code> rather than <code>{prefix}/node.exe</code>.</p>
+
+<p>When the <code>global</code> flag is set, npm installs things into this prefix.
+When it is not set, it uses the root of the current package, or the
+current working directory if not in a package already.</p>
+
+<h3 id="Node-Modules">Node Modules</h3>
+
+<p>Packages are dropped into the <code>node_modules</code> folder under the <code>prefix</code>.
+When installing locally, this means that you can
+<code>require("packagename")</code> to load its main module, or
+<code>require("packagename/lib/path/to/sub/module")</code> to load other modules.</p>
+
+<p>Global installs on Unix systems go to <code>{prefix}/lib/node_modules</code>.
+Global installs on Windows go to <code>{prefix}/node_modules</code> (that is, no
+<code>lib</code> folder.)</p>
+
+<p>If you wish to <code>require()</code> a package, then install it locally.</p>
+
+<h3 id="Executables">Executables</h3>
+
+<p>When in global mode, executables are linked into <code>{prefix}/bin</code> on Unix,
+or directly into <code>{prefix}</code> on Windows.</p>
+
+<p>When in local mode, executables are linked into
+<code>./node_modules/.bin</code> so that they can be made available to scripts run
+through npm. (For example, so that a test runner will be in the path
+when you run <code>npm test</code>.)</p>
+
+<h3 id="Man-Pages">Man Pages</h3>
+
+<p>When in global mode, man pages are linked into <code>{prefix}/share/man</code>.</p>
+
+<p>When in local mode, man pages are not installed.</p>
+
+<p>Man pages are not installed on Windows systems.</p>
+
+<h3 id="Cache">Cache</h3>
+
+<p>See <code><a href="../doc/cache.html">cache(1)</a></code>. Cache files are stored in <code>~/.npm</code> on Posix, or
+<code>~/npm-cache</code> on Windows.</p>
+
+<p>This is controlled by the <code>cache</code> configuration param.</p>
+
+<h3 id="Temp-Files">Temp Files</h3>
+
+<p>Temporary files are stored by default in the folder specified by the
+<code>tmp</code> config, which defaults to the TMPDIR, TMP, or TEMP environment
+variables, or <code>/tmp</code> on Unix and <code>c:\windows\temp</code> on Windows.</p>
+
+<p>Temp files are given a unique folder under this root for each run of the
+program, and are deleted upon successful exit.</p>
+
+<h2 id="More-Information">More Information</h2>
+
+<p>When installing locally, npm first tries to find an appropriate
+<code>prefix</code> folder. This is so that <code>npm install foo@1.2.3</code> will install
+to the sensible root of your package, even if you happen to have <code>cd</code>ed
+into some other folder.</p>
+
+<p>Starting at the $PWD, npm will walk up the folder tree checking for a
+folder that contains either a <code>package.json</code> file, or a <code>node_modules</code>
+folder. If such a thing is found, then that is treated as the effective
+"current directory" for the purpose of running npm commands. (This
+behavior is inspired by and similar to git's .git-folder seeking
+logic when running git commands in a working dir.)</p>
+
+<p>If no package root is found, then the current folder is used.</p>
+
+<p>When you run <code>npm install foo@1.2.3</code>, then the package is loaded into
+the cache, and then unpacked into <code>./node_modules/foo</code>. Then, any of
+foo's dependencies are similarly unpacked into
+<code>./node_modules/foo/node_modules/...</code>.</p>
+
+<p>Any bin files are symlinked to <code>./node_modules/.bin/</code>, so that they may
+be found by npm scripts when necessary.</p>
+
+<h3 id="Global-Installation">Global Installation</h3>
+
+<p>If the <code>global</code> configuration is set to true, then npm will
+install packages "globally".</p>
+
+<p>For global installation, packages are installed roughly the same way,
+but using the folders described above.</p>
+
+<h3 id="Cycles-Conflicts-and-Folder-Parsimony">Cycles, Conflicts, and Folder Parsimony</h3>
+
+<p>Cycles are handled using the property of node's module system that it
+walks up the directories looking for <code>node_modules</code> folders. So, at every
+stage, if a package is already installed in an ancestor <code>node_modules</code>
+folder, then it is not installed at the current location.</p>
+
+<p>Consider the case above, where <code>foo -&gt; bar -&gt; baz</code>. Imagine if, in
+addition to that, baz depended on bar, so you'd have:
+<code>foo -&gt; bar -&gt; baz -&gt; bar -&gt; baz ...</code>. However, since the folder
+structure is: <code>foo/node_modules/bar/node_modules/baz</code>, there's no need to
+put another copy of bar into <code>.../baz/node_modules</code>, since when it calls
+require("bar"), it will get the copy that is installed in
+<code>foo/node_modules/bar</code>.</p>
+
+<p>This shortcut is only used if the exact same
+version would be installed in multiple nested <code>node_modules</code> folders. It
+is still possible to have <code>a/node_modules/b/node_modules/a</code> if the two
+"a" packages are different versions. However, without repeating the
+exact same package multiple times, an infinite regress will always be
+prevented.</p>
+
+<p>Another optimization can be made by installing dependencies at the
+highest level possible, below the localized "target" folder.</p>
+
+<h4 id="Example">Example</h4>
+
+<p>Consider this dependency graph:</p>
+
+<pre><code>foo
++-- blerg@1.2.5
++-- bar@1.2.3
+| +-- blerg@1.x (latest=1.3.7)
+| +-- baz@2.x
+| | `-- quux@3.x
+| | `-- bar@1.2.3 (cycle)
+| `-- asdf@*
+`-- baz@1.2.3
+ `-- quux@3.x
+ `-- bar</code></pre>
+
+<p>In this case, we might expect a folder structure like this:</p>
+
+<pre><code>foo
++-- node_modules
+ +-- blerg (1.2.5) &lt;---[A]
+ +-- bar (1.2.3) &lt;---[B]
+ | +-- node_modules
+ | | `-- baz (2.0.2) &lt;---[C]
+ | | `-- node_modules
+ | | `-- quux (3.2.0)
+ | `-- asdf (2.3.4)
+ `-- baz (1.2.3) &lt;---[D]
+ `-- node_modules
+ `-- quux (3.2.0) &lt;---[E]</code></pre>
+
+<p>Since foo depends directly on bar@1.2.3 and baz@1.2.3, those are
+installed in foo's <code>node_modules</code> folder.</p>
+
+<p>Even though the latest copy of blerg is 1.3.7, foo has a specific
+dependency on version 1.2.5. So, that gets installed at [A]. Since the
+parent installation of blerg satisfie's bar's dependency on blerg@1.x,
+it does not install another copy under [B].</p>
+
+<p>Bar [B] also has dependencies on baz and asdf, so those are installed in
+bar's <code>node_modules</code> folder. Because it depends on <code>baz@2.x</code>, it cannot
+re-use the <code>baz@1.2.3</code> installed in the parent <code>node_modules</code> folder [D],
+and must install its own copy [C].</p>
+
+<p>Underneath bar, the <code>baz-&gt;quux-&gt;bar</code> dependency creates a cycle.
+However, because <code>bar</code> is already in <code>quux</code>'s ancestry [B], it does not
+unpack another copy of bar into that folder.</p>
+
+<p>Underneath <code>foo-&gt;baz</code> [D], quux's [E] folder tree is empty, because its
+dependency on bar is satisfied by the parent folder copy installed at [B].</p>
+
+<p>For a graphical breakdown of what is installed where, use <code>npm ls</code>.</p>
+
+<h3 id="Publishing">Publishing</h3>
+
+<p>Upon publishing, npm will look in the <code>node_modules</code> folder. If any of
+the items there are not in the <code>bundledDependencies</code> array, then they will
+not be included in the package tarball.</p>
+
+<p>This allows a package maintainer to install all of their dependencies
+(and dev dependencies) locally, but only re-publish those items that
+cannot be found elsewhere. See <code><a href="../doc/json.html">json(1)</a></code> for more information.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/pack.html">pack(1)</a></li><li><a href="../doc/cache.html">cache(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li></ul>
+</div>
+<p id="footer">folders &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/get.html b/deps/npm/html/doc/get.html
new file mode 100644
index 0000000000..3c0c2b89b1
--- /dev/null
+++ b/deps/npm/html/doc/get.html
@@ -0,0 +1,621 @@
+<!doctype html>
+<html>
+ <title>get</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/config.html">config</a></h1> <p>Manage the npm configuration file</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm config set &lt;key&gt; &lt;value&gt; [--global]
+npm config get &lt;key&gt;
+npm config delete &lt;key&gt;
+npm config list
+npm config edit
+npm get &lt;key&gt;
+npm set &lt;key&gt; &lt;value&gt; [--global]</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>npm gets its configuration values from 6 sources, in this priority:</p>
+
+<h3 id="Command-Line-Flags">Command Line Flags</h3>
+
+<p>Putting <code>--foo bar</code> on the command line sets the
+<code>foo</code> configuration parameter to <code>"bar"</code>. A <code>--</code> argument tells the cli
+parser to stop reading flags. A <code>--flag</code> parameter that is at the <em>end</em> of
+the command will be given the value of <code>true</code>.</p>
+
+<h3 id="Environment-Variables">Environment Variables</h3>
+
+<p>Any environment variables that start with <code>npm_config_</code> will be interpreted
+as a configuration parameter. For example, putting <code>npm_config_foo=bar</code> in
+your environment will set the <code>foo</code> configuration parameter to <code>bar</code>. Any
+environment configurations that are not given a value will be given the value
+of <code>true</code>. Config values are case-insensitive, so <code>NPM_CONFIG_FOO=bar</code> will
+work the same.</p>
+
+<h3 id="Per-user-config-file">Per-user config file</h3>
+
+<p><code>$HOME/.npmrc</code> (or the <code>userconfig</code> param, if set above)</p>
+
+<p>This file is an ini-file formatted list of <code>key = value</code> parameters.</p>
+
+<h3 id="Global-config-file">Global config file</h3>
+
+<p><code>$PREFIX/etc/npmrc</code> (or the <code>globalconfig</code> param, if set above):
+This file is an ini-file formatted list of <code>key = value</code> parameters</p>
+
+<h3 id="Built-in-config-file">Built-in config file</h3>
+
+<p><code>path/to/npm/itself/npmrc</code></p>
+
+<p>This is an unchangeable "builtin"
+configuration file that npm keeps consistent across updates. Set
+fields in here using the <code>./configure</code> script that comes with npm.
+This is primarily for distribution maintainers to override default
+configs in a standard and consistent manner.</p>
+
+<h3 id="Default-Configs">Default Configs</h3>
+
+<p>A set of configuration parameters that are internal to npm, and are
+defaults if nothing else is specified.</p>
+
+<h2 id="Sub-commands">Sub-commands</h2>
+
+<p>Config supports the following sub-commands:</p>
+
+<h3 id="set">set</h3>
+
+<pre><code>npm config set key value</code></pre>
+
+<p>Sets the config key to the value.</p>
+
+<p>If value is omitted, then it sets it to "true".</p>
+
+<h3 id="get">get</h3>
+
+<pre><code>npm config get key</code></pre>
+
+<p>Echo the config value to stdout.</p>
+
+<h3 id="list">list</h3>
+
+<pre><code>npm config list</code></pre>
+
+<p>Show all the config settings.</p>
+
+<h3 id="delete">delete</h3>
+
+<pre><code>npm config delete key</code></pre>
+
+<p>Deletes the key from all configuration files.</p>
+
+<h3 id="edit">edit</h3>
+
+<pre><code>npm config edit</code></pre>
+
+<p>Opens the config file in an editor. Use the <code>--global</code> flag to edit the
+global config.</p>
+
+<h2 id="Shorthands-and-Other-CLI-Niceties">Shorthands and Other CLI Niceties</h2>
+
+<p>The following shorthands are parsed on the command-line:</p>
+
+<ul><li><code>-v</code>: <code>--version</code></li><li><code>-h</code>, <code>-?</code>, <code>--help</code>, <code>-H</code>: <code>--usage</code></li><li><code>-s</code>, <code>--silent</code>: <code>--loglevel silent</code></li><li><code>-d</code>: <code>--loglevel info</code></li><li><code>-dd</code>, <code>--verbose</code>: <code>--loglevel verbose</code></li><li><code>-ddd</code>: <code>--loglevel silly</code></li><li><code>-g</code>: <code>--global</code></li><li><code>-l</code>: <code>--long</code></li><li><code>-m</code>: <code>--message</code></li><li><code>-p</code>, <code>--porcelain</code>: <code>--parseable</code></li><li><code>-reg</code>: <code>--registry</code></li><li><code>-v</code>: <code>--version</code></li><li><code>-f</code>: <code>--force</code></li><li><code>-l</code>: <code>--long</code></li><li><code>-desc</code>: <code>--description</code></li><li><code>-S</code>: <code>--save</code></li><li><code>-y</code>: <code>--yes</code></li><li><code>-n</code>: <code>--yes false</code></li><li><code>ll</code> and <code>la</code> commands: <code>ls --long</code></li></ul>
+
+<p>If the specified configuration param resolves unambiguously to a known
+configuration parameter, then it is expanded to that configuration
+parameter. For example:</p>
+
+<pre><code>npm ls --par
+# same as:
+npm ls --parseable</code></pre>
+
+<p>If multiple single-character shorthands are strung together, and the
+resulting combination is unambiguously not some other configuration
+param, then it is expanded to its various component pieces. For
+example:</p>
+
+<pre><code>npm ls -gpld
+# same as:
+npm ls --global --parseable --long --loglevel info</code></pre>
+
+<h2 id="Per-Package-Config-Settings">Per-Package Config Settings</h2>
+
+<p>When running scripts (see <code><a href="../doc/scripts.html">scripts(1)</a></code>)
+the package.json "config" keys are overwritten in the environment if
+there is a config param of <code>&lt;name&gt;[@&lt;version&gt;]:&lt;key&gt;</code>. For example, if
+the package.json has this:</p>
+
+<pre><code>{ "name" : "foo"
+, "config" : { "port" : "8080" }
+, "scripts" : { "start" : "node server.js" } }</code></pre>
+
+<p>and the server.js is this:</p>
+
+<pre><code>http.createServer(...).listen(process.env.npm_package_config_port)</code></pre>
+
+<p>then the user could change the behavior by doing:</p>
+
+<pre><code>npm config set foo:port 80</code></pre>
+
+<h2 id="Config-Settings">Config Settings</h2>
+
+<h3 id="always-auth">always-auth</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Force npm to always require authentication when accessing the registry,
+even for <code>GET</code> requests.</p>
+
+<h3 id="bin-publish">bin-publish</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>If set to true, then binary packages will be created on publish.</p>
+
+<p>This is the way to opt into the "bindist" behavior described below.</p>
+
+<h3 id="bindist">bindist</h3>
+
+<ul><li>Default: Unstable node versions, <code>null</code>, otherwise
+<code>"&lt;node version&gt;-&lt;platform&gt;-&lt;os release&gt;"</code></li><li>Type: String or <code>null</code></li></ul>
+
+<p>Experimental: on stable versions of node, binary distributions will be
+created with this tag. If a user then installs that package, and their
+<code>bindist</code> tag is found in the list of binary distributions, they will
+get that prebuilt version.</p>
+
+<p>Pre-build node packages have their preinstall, install, and postinstall
+scripts stripped (since they are run prior to publishing), and do not
+have their <code>build</code> directories automatically ignored.</p>
+
+<p>It's yet to be seen if this is a good idea.</p>
+
+<h3 id="browser">browser</h3>
+
+<ul><li>Default: OS X: <code>"open"</code>, others: <code>"google-chrome"</code></li><li>Type: String</li></ul>
+
+<p>The browser that is called by the <code>npm docs</code> command to open websites.</p>
+
+<h3 id="ca">ca</h3>
+
+<ul><li>Default: The npm CA certificate</li><li>Type: String or null</li></ul>
+
+<p>The Certificate Authority signing certificate that is trusted for SSL
+connections to the registry.</p>
+
+<p>Set to <code>null</code> to only allow "known" registrars, or to a specific CA cert
+to trust only that specific signing authority.</p>
+
+<p>See also the <code>strict-ssl</code> config.</p>
+
+<h3 id="cache">cache</h3>
+
+<ul><li>Default: Windows: <code>~/npm-cache</code>, Posix: <code>~/.npm</code></li><li>Type: path</li></ul>
+
+<p>The location of npm's cache directory. See <code><a href="../doc/cache.html">cache(1)</a></code></p>
+
+<h3 id="color">color</h3>
+
+<ul><li>Default: true on Posix, false on Windows</li><li>Type: Boolean or <code>"always"</code></li></ul>
+
+<p>If false, never shows colors. If <code>"always"</code> then always shows colors.
+If true, then only prints color codes for tty file descriptors.</p>
+
+<h3 id="depth">depth</h3>
+
+<ul><li>Default: Infinity</li><li>Type: Number</li></ul>
+
+<p>The depth to go when recursing directories for <code>npm ls</code> and
+<code>npm cache ls</code>.</p>
+
+<h3 id="description">description</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>Show the description in <code>npm search</code></p>
+
+<h3 id="dev">dev</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Install <code>dev-dependencies</code> along with packages.</p>
+
+<p>Note that <code>dev-dependencies</code> are also installed if the <code>npat</code> flag is
+set.</p>
+
+<h3 id="editor">editor</h3>
+
+<ul><li>Default: <code>EDITOR</code> environment variable if set, or <code>"vi"</code> on Posix,
+or <code>"notepad"</code> on Windows.</li><li>Type: path</li></ul>
+
+<p>The command to run for <code>npm edit</code> or <code>npm config edit</code>.</p>
+
+<h3 id="force">force</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Makes various commands more forceful.</p>
+
+<ul><li>lifecycle script failure does not block progress.</li><li>publishing clobbers previously published versions.</li><li>skips cache when requesting from the registry.</li><li>prevents checks against clobbering non-npm files.</li></ul>
+
+<h3 id="global">global</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Operates in "global" mode, so that packages are installed into the
+<code>prefix</code> folder instead of the current working directory. See
+<code><a href="../doc/folders.html">folders(1)</a></code> for more on the differences in behavior.</p>
+
+<ul><li>packages are installed into the <code>prefix/node_modules</code> folder, instead of the
+current working directory.</li><li>bin files are linked to <code>prefix/bin</code></li><li>man pages are linked to <code>prefix/share/man</code></li></ul>
+
+<h3 id="globalconfig">globalconfig</h3>
+
+<ul><li>Default: {prefix}/etc/npmrc</li><li>Type: path</li></ul>
+
+<p>The config file to read for global config options.</p>
+
+<h3 id="globalignorefile">globalignorefile</h3>
+
+<ul><li>Default: {prefix}/etc/npmignore</li><li>Type: path</li></ul>
+
+<p>The config file to read for global ignore patterns to apply to all users
+and all projects.</p>
+
+<p>If not found, but there is a "gitignore" file in the
+same directory, then that will be used instead.</p>
+
+<h3 id="group">group</h3>
+
+<ul><li>Default: GID of the current process</li><li>Type: String or Number</li></ul>
+
+<p>The group to use when running package scripts in global mode as the root
+user.</p>
+
+<h3 id="https-proxy">https-proxy</h3>
+
+<ul><li>Default: the <code>HTTPS_PROXY</code> or <code>https_proxy</code> or <code>HTTP_PROXY</code> or
+<code>http_proxy</code> environment variables.</li><li>Type: url</li></ul>
+
+<p>A proxy to use for outgoing https requests.</p>
+
+<h3 id="ignore">ignore</h3>
+
+<ul><li>Default: ""</li><li>Type: string</li></ul>
+
+<p>A white-space separated list of glob patterns of files to always exclude
+from packages when building tarballs.</p>
+
+<h3 id="init-version">init.version</h3>
+
+<ul><li>Default: "0.0.0"</li><li>Type: semver</li></ul>
+
+<p>The value <code>npm init</code> should use by default for the package version.</p>
+
+<h3 id="init-author-name">init.author.name</h3>
+
+<ul><li>Default: "0.0.0"</li><li>Type: String</li></ul>
+
+<p>The value <code>npm init</code> should use by default for the package author's name.</p>
+
+<h3 id="init-author-email">init.author.email</h3>
+
+<ul><li>Default: ""</li><li>Type: String</li></ul>
+
+<p>The value <code>npm init</code> should use by default for the package author's email.</p>
+
+<h3 id="init-author-url">init.author.url</h3>
+
+<ul><li>Default: ""</li><li>Type: String</li></ul>
+
+<p>The value <code>npm init</code> should use by default for the package author's homepage.</p>
+
+<h3 id="link">link</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>If true, then local installs will link if there is a suitable globally
+installed package.</p>
+
+<p>Note that this means that local installs can cause things to be
+installed into the global space at the same time. The link is only done
+if one of the two conditions are met:</p>
+
+<ul><li>The package is not already installed globally, or</li><li>the globally installed version is identical to the version that is
+being installed locally.</li></ul>
+
+<h3 id="logfd">logfd</h3>
+
+<ul><li>Default: stderr file descriptor</li><li>Type: Number or Stream</li></ul>
+
+<p>The location to write log output.</p>
+
+<h3 id="loglevel">loglevel</h3>
+
+<ul><li>Default: "warn"</li><li>Type: String</li><li>Values: "silent", "win", "error", "warn", "info", "verbose", "silly"</li></ul>
+
+<p>What level of logs to report. On failure, <em>all</em> logs are written to
+<code>npm-debug.log</code> in the current working directory.</p>
+
+<h3 id="logprefix">logprefix</h3>
+
+<ul><li>Default: true on Posix, false on Windows</li><li>Type: Boolean</li></ul>
+
+<p>Whether or not to prefix log messages with "npm" and the log level. See
+also "color" and "loglevel".</p>
+
+<h3 id="long">long</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Show extended information in <code>npm ls</code></p>
+
+<h3 id="message">message</h3>
+
+<ul><li>Default: "%s"</li><li>Type: String</li></ul>
+
+<p>Commit message which is used by <code>npm version</code> when creating version commit.</p>
+
+<p>Any "%s" in the message will be replaced with the version number.</p>
+
+<h3 id="node-version">node-version</h3>
+
+<ul><li>Default: process.version</li><li>Type: semver or false</li></ul>
+
+<p>The node version to use when checking package's "engines" hash.</p>
+
+<h3 id="npat">npat</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Run tests on installation and report results to the
+<code>npaturl</code>.</p>
+
+<h3 id="npaturl">npaturl</h3>
+
+<ul><li>Default: Not yet implemented</li><li>Type: url</li></ul>
+
+<p>The url to report npat test results.</p>
+
+<h3 id="onload-script">onload-script</h3>
+
+<ul><li>Default: false</li><li>Type: path</li></ul>
+
+<p>A node module to <code>require()</code> when npm loads. Useful for programmatic
+usage.</p>
+
+<h3 id="outfd">outfd</h3>
+
+<ul><li>Default: standard output file descriptor</li><li>Type: Number or Stream</li></ul>
+
+<p>Where to write "normal" output. This has no effect on log output.</p>
+
+<h3 id="parseable">parseable</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Output parseable results from commands that write to
+standard output.</p>
+
+<h3 id="prefix">prefix</h3>
+
+<ul><li>Default: node's process.installPrefix</li><li>Type: path</li></ul>
+
+<p>The location to install global items. If set on the command line, then
+it forces non-global commands to run in the specified folder.</p>
+
+<h3 id="production">production</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Set to true to run in "production" mode.</p>
+
+<ol><li>devDependencies are not installed at the topmost level when running
+local <code>npm install</code> without any arguments.</li><li>Set the NODE_ENV="production" for lifecycle scripts.</li></ol>
+
+<h3 id="proxy">proxy</h3>
+
+<ul><li>Default: <code>HTTP_PROXY</code> or <code>http_proxy</code> environment variable, or null</li><li>Type: url</li></ul>
+
+<p>A proxy to use for outgoing http requests.</p>
+
+<h3 id="rebuild-bundle">rebuild-bundle</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>Rebuild bundled dependencies after installation.</p>
+
+<h3 id="registry">registry</h3>
+
+<ul><li>Default: https://registry.npmjs.org/</li><li>Type: url</li></ul>
+
+<p>The base URL of the npm package registry.</p>
+
+<h3 id="rollback">rollback</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>Remove failed installs.</p>
+
+<h3 id="save">save</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Save installed packages to a package.json file as dependencies.</p>
+
+<p>Only works if there is already a package.json file present.</p>
+
+<h3 id="searchopts">searchopts</h3>
+
+<ul><li>Default: ""</li><li>Type: String</li></ul>
+
+<p>Space-separated options that are always passed to search.</p>
+
+<h3 id="searchexclude">searchexclude</h3>
+
+<ul><li>Default: ""</li><li>Type: String</li></ul>
+
+<p>Space-separated options that limit the results from search.</p>
+
+<h3 id="shell">shell</h3>
+
+<ul><li>Default: SHELL environment variable, or "bash" on Posix, or "cmd" on
+Windows</li><li>Type: path</li></ul>
+
+<p>The shell to run for the <code>npm explore</code> command.</p>
+
+<h3 id="strict-ssl">strict-ssl</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>Whether or not to do SSL key validation when making requests to the
+registry via https.</p>
+
+<p>See also the <code>ca</code> config.</p>
+
+<h3 id="tag">tag</h3>
+
+<ul><li>Default: latest</li><li>Type: String</li></ul>
+
+<p>If you ask npm to install a package and don't tell it a specific version, then
+it will install the specified tag.</p>
+
+<p>Also the tag that is added to the package@version specified by the <code>npm
+tag</code> command, if no explicit tag is given.</p>
+
+<h3 id="tmp">tmp</h3>
+
+<ul><li>Default: TMPDIR environment variable, or "/tmp"</li><li>Type: path</li></ul>
+
+<p>Where to store temporary files and folders. All temp files are deleted
+on success, but left behind on failure for forensic purposes.</p>
+
+<h3 id="unicode">unicode</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>When set to true, npm uses unicode characters in the tree output. When
+false, it uses ascii characters to draw trees.</p>
+
+<h3 id="unsafe-perm">unsafe-perm</h3>
+
+<ul><li>Default: false if running as root, true otherwise</li><li>Type: Boolean</li></ul>
+
+<p>Set to true to suppress the UID/GID switching when running package
+scripts. If set explicitly to false, then installing as a non-root user
+will fail.</p>
+
+<h3 id="usage">usage</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Set to show short usage output (like the -H output)
+instead of complete help when doing <code><a href="../doc/help.html">help(1)</a></code>.</p>
+
+<h3 id="user">user</h3>
+
+<ul><li>Default: "nobody"</li><li>Type: String or Number</li></ul>
+
+<p>The UID to set to when running package scripts as root.</p>
+
+<h3 id="username">username</h3>
+
+<ul><li>Default: null</li><li>Type: String</li></ul>
+
+<p>The username on the npm registry. Set with <code>npm adduser</code></p>
+
+<h3 id="userconfig">userconfig</h3>
+
+<ul><li>Default: ~/.npmrc</li><li>Type: path</li></ul>
+
+<p>The location of user-level configuration settings.</p>
+
+<h3 id="userignorefile">userignorefile</h3>
+
+<ul><li>Default: ~/.npmignore</li><li>Type: path</li></ul>
+
+<p>The location of a user-level ignore file to apply to all packages.</p>
+
+<p>If not found, but there is a .gitignore file in the same directory, then
+that will be used instead.</p>
+
+<h3 id="umask">umask</h3>
+
+<ul><li>Default: 022</li><li>Type: Octal numeric string</li></ul>
+
+<p>The "umask" value to use when setting the file creation mode on files
+and folders.</p>
+
+<p>Folders and executables are given a mode which is <code>0777</code> masked against
+this value. Other files are given a mode which is <code>0666</code> masked against
+this value. Thus, the defaults are <code>0755</code> and <code>0644</code> respectively.</p>
+
+<h3 id="version">version</h3>
+
+<ul><li>Default: false</li><li>Type: boolean</li></ul>
+
+<p>If true, output the npm version and exit successfully.</p>
+
+<p>Only relevant when specified explicitly on the command line.</p>
+
+<h3 id="viewer">viewer</h3>
+
+<ul><li>Default: "man" on Posix, "browser" on Windows</li><li>Type: path</li></ul>
+
+<p>The program to use to view help content.</p>
+
+<p>Set to <code>"browser"</code> to view html help content in the default web browser.</p>
+
+<h3 id="yes">yes</h3>
+
+<ul><li>Default: null</li><li>Type: Boolean or null</li></ul>
+
+<p>If set to <code>null</code>, then prompt the user for responses in some
+circumstances.</p>
+
+<p>If set to <code>true</code>, then answer "yes" to any prompt. If set to <code>false</code>
+then answer "no" to any prompt.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<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">get &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/global.html b/deps/npm/html/doc/global.html
new file mode 100644
index 0000000000..edc6b1933d
--- /dev/null
+++ b/deps/npm/html/doc/global.html
@@ -0,0 +1,240 @@
+<!doctype html>
+<html>
+ <title>global</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/folders.html">folders</a></h1> <p>Folder Structures Used by npm</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>npm puts various things on your computer. That's its job.</p>
+
+<p>This document will tell you what it puts where.</p>
+
+<h3 id="tl-dr">tl;dr</h3>
+
+<ul><li>Local install (default): puts stuff in <code>./node_modules</code> of the current
+package root.</li><li>Global install (with <code>-g</code>): puts stuff in /usr/local or wherever node
+is installed.</li><li>Install it <strong>locally</strong> if you're going to <code>require()</code> it.</li><li>Install it <strong>globally</strong> if you're going to run it on the command line.</li><li>If you need both, then install it in both places, or use <code>npm link</code>.</li></ul>
+
+<h3 id="prefix-Configuration">prefix Configuration</h3>
+
+<p>The <code>prefix</code> config defaults to the location where node is installed.
+On most systems, this is <code>/usr/local</code>, and most of the time is the same
+as node's <code>process.installPrefix</code>.</p>
+
+<p>On windows, this is the exact location of the node.exe binary. On Unix
+systems, it's one level up, since node is typically installed at
+<code>{prefix}/bin/node</code> rather than <code>{prefix}/node.exe</code>.</p>
+
+<p>When the <code>global</code> flag is set, npm installs things into this prefix.
+When it is not set, it uses the root of the current package, or the
+current working directory if not in a package already.</p>
+
+<h3 id="Node-Modules">Node Modules</h3>
+
+<p>Packages are dropped into the <code>node_modules</code> folder under the <code>prefix</code>.
+When installing locally, this means that you can
+<code>require("packagename")</code> to load its main module, or
+<code>require("packagename/lib/path/to/sub/module")</code> to load other modules.</p>
+
+<p>Global installs on Unix systems go to <code>{prefix}/lib/node_modules</code>.
+Global installs on Windows go to <code>{prefix}/node_modules</code> (that is, no
+<code>lib</code> folder.)</p>
+
+<p>If you wish to <code>require()</code> a package, then install it locally.</p>
+
+<h3 id="Executables">Executables</h3>
+
+<p>When in global mode, executables are linked into <code>{prefix}/bin</code> on Unix,
+or directly into <code>{prefix}</code> on Windows.</p>
+
+<p>When in local mode, executables are linked into
+<code>./node_modules/.bin</code> so that they can be made available to scripts run
+through npm. (For example, so that a test runner will be in the path
+when you run <code>npm test</code>.)</p>
+
+<h3 id="Man-Pages">Man Pages</h3>
+
+<p>When in global mode, man pages are linked into <code>{prefix}/share/man</code>.</p>
+
+<p>When in local mode, man pages are not installed.</p>
+
+<p>Man pages are not installed on Windows systems.</p>
+
+<h3 id="Cache">Cache</h3>
+
+<p>See <code><a href="../doc/cache.html">cache(1)</a></code>. Cache files are stored in <code>~/.npm</code> on Posix, or
+<code>~/npm-cache</code> on Windows.</p>
+
+<p>This is controlled by the <code>cache</code> configuration param.</p>
+
+<h3 id="Temp-Files">Temp Files</h3>
+
+<p>Temporary files are stored by default in the folder specified by the
+<code>tmp</code> config, which defaults to the TMPDIR, TMP, or TEMP environment
+variables, or <code>/tmp</code> on Unix and <code>c:\windows\temp</code> on Windows.</p>
+
+<p>Temp files are given a unique folder under this root for each run of the
+program, and are deleted upon successful exit.</p>
+
+<h2 id="More-Information">More Information</h2>
+
+<p>When installing locally, npm first tries to find an appropriate
+<code>prefix</code> folder. This is so that <code>npm install foo@1.2.3</code> will install
+to the sensible root of your package, even if you happen to have <code>cd</code>ed
+into some other folder.</p>
+
+<p>Starting at the $PWD, npm will walk up the folder tree checking for a
+folder that contains either a <code>package.json</code> file, or a <code>node_modules</code>
+folder. If such a thing is found, then that is treated as the effective
+"current directory" for the purpose of running npm commands. (This
+behavior is inspired by and similar to git's .git-folder seeking
+logic when running git commands in a working dir.)</p>
+
+<p>If no package root is found, then the current folder is used.</p>
+
+<p>When you run <code>npm install foo@1.2.3</code>, then the package is loaded into
+the cache, and then unpacked into <code>./node_modules/foo</code>. Then, any of
+foo's dependencies are similarly unpacked into
+<code>./node_modules/foo/node_modules/...</code>.</p>
+
+<p>Any bin files are symlinked to <code>./node_modules/.bin/</code>, so that they may
+be found by npm scripts when necessary.</p>
+
+<h3 id="Global-Installation">Global Installation</h3>
+
+<p>If the <code>global</code> configuration is set to true, then npm will
+install packages "globally".</p>
+
+<p>For global installation, packages are installed roughly the same way,
+but using the folders described above.</p>
+
+<h3 id="Cycles-Conflicts-and-Folder-Parsimony">Cycles, Conflicts, and Folder Parsimony</h3>
+
+<p>Cycles are handled using the property of node's module system that it
+walks up the directories looking for <code>node_modules</code> folders. So, at every
+stage, if a package is already installed in an ancestor <code>node_modules</code>
+folder, then it is not installed at the current location.</p>
+
+<p>Consider the case above, where <code>foo -&gt; bar -&gt; baz</code>. Imagine if, in
+addition to that, baz depended on bar, so you'd have:
+<code>foo -&gt; bar -&gt; baz -&gt; bar -&gt; baz ...</code>. However, since the folder
+structure is: <code>foo/node_modules/bar/node_modules/baz</code>, there's no need to
+put another copy of bar into <code>.../baz/node_modules</code>, since when it calls
+require("bar"), it will get the copy that is installed in
+<code>foo/node_modules/bar</code>.</p>
+
+<p>This shortcut is only used if the exact same
+version would be installed in multiple nested <code>node_modules</code> folders. It
+is still possible to have <code>a/node_modules/b/node_modules/a</code> if the two
+"a" packages are different versions. However, without repeating the
+exact same package multiple times, an infinite regress will always be
+prevented.</p>
+
+<p>Another optimization can be made by installing dependencies at the
+highest level possible, below the localized "target" folder.</p>
+
+<h4 id="Example">Example</h4>
+
+<p>Consider this dependency graph:</p>
+
+<pre><code>foo
++-- blerg@1.2.5
++-- bar@1.2.3
+| +-- blerg@1.x (latest=1.3.7)
+| +-- baz@2.x
+| | `-- quux@3.x
+| | `-- bar@1.2.3 (cycle)
+| `-- asdf@*
+`-- baz@1.2.3
+ `-- quux@3.x
+ `-- bar</code></pre>
+
+<p>In this case, we might expect a folder structure like this:</p>
+
+<pre><code>foo
++-- node_modules
+ +-- blerg (1.2.5) &lt;---[A]
+ +-- bar (1.2.3) &lt;---[B]
+ | +-- node_modules
+ | | `-- baz (2.0.2) &lt;---[C]
+ | | `-- node_modules
+ | | `-- quux (3.2.0)
+ | `-- asdf (2.3.4)
+ `-- baz (1.2.3) &lt;---[D]
+ `-- node_modules
+ `-- quux (3.2.0) &lt;---[E]</code></pre>
+
+<p>Since foo depends directly on bar@1.2.3 and baz@1.2.3, those are
+installed in foo's <code>node_modules</code> folder.</p>
+
+<p>Even though the latest copy of blerg is 1.3.7, foo has a specific
+dependency on version 1.2.5. So, that gets installed at [A]. Since the
+parent installation of blerg satisfie's bar's dependency on blerg@1.x,
+it does not install another copy under [B].</p>
+
+<p>Bar [B] also has dependencies on baz and asdf, so those are installed in
+bar's <code>node_modules</code> folder. Because it depends on <code>baz@2.x</code>, it cannot
+re-use the <code>baz@1.2.3</code> installed in the parent <code>node_modules</code> folder [D],
+and must install its own copy [C].</p>
+
+<p>Underneath bar, the <code>baz-&gt;quux-&gt;bar</code> dependency creates a cycle.
+However, because <code>bar</code> is already in <code>quux</code>'s ancestry [B], it does not
+unpack another copy of bar into that folder.</p>
+
+<p>Underneath <code>foo-&gt;baz</code> [D], quux's [E] folder tree is empty, because its
+dependency on bar is satisfied by the parent folder copy installed at [B].</p>
+
+<p>For a graphical breakdown of what is installed where, use <code>npm ls</code>.</p>
+
+<h3 id="Publishing">Publishing</h3>
+
+<p>Upon publishing, npm will look in the <code>node_modules</code> folder. If any of
+the items there are not in the <code>bundledDependencies</code> array, then they will
+not be included in the package tarball.</p>
+
+<p>This allows a package maintainer to install all of their dependencies
+(and dev dependencies) locally, but only re-publish those items that
+cannot be found elsewhere. See <code><a href="../doc/json.html">json(1)</a></code> for more information.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<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.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/help-search.html b/deps/npm/html/doc/help-search.html
new file mode 100644
index 0000000000..8bc13b4cca
--- /dev/null
+++ b/deps/npm/html/doc/help-search.html
@@ -0,0 +1,73 @@
+<!doctype html>
+<html>
+ <title>help-search</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/help-search.html">help-search</a></h1> <p>Search npm help documentation</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm help-search some search terms</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command will search the npm markdown documentation files for the
+terms provided, and then list the results, sorted by relevance.</p>
+
+<p>If only one result is found, then it will show that help topic.</p>
+
+<p>If the argument to <code>npm help</code> is not a known help topic, then it will
+call <code>help-search</code>. It is rarely if ever necessary to call this
+command directly.</p>
+
+<h2 id="CONFIGURATION">CONFIGURATION</h2>
+
+<h3 id="long">long</h3>
+
+<ul><li>Type: Boolean</li><li>Default false</li></ul>
+
+<p>If true, the "long" flag will cause help-search to output context around
+where the terms were found in the documentation.</p>
+
+<p>If false, then help-search will just list out the help topics found.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/help.html">help(1)</a></li></ul>
+</div>
+<p id="footer">help-search &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/help.html b/deps/npm/html/doc/help.html
new file mode 100644
index 0000000000..68fea3b329
--- /dev/null
+++ b/deps/npm/html/doc/help.html
@@ -0,0 +1,71 @@
+<!doctype html>
+<html>
+ <title>help</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/help.html">help</a></h1> <p>Get help on npm</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm help &lt;topic&gt;
+npm help some search terms</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>If supplied a topic, then show the appropriate documentation page.</p>
+
+<p>If the topic does not exist, or if multiple terms are provided, then run
+the <code>help-search</code> command to find a match. Note that, if <code>help-search</code>
+finds a single subject, then it will run <code>help</code> on that topic, so unique
+matches are equivalent to specifying a topic name.</p>
+
+<h2 id="CONFIGURATION">CONFIGURATION</h2>
+
+<h3 id="viewer">viewer</h3>
+
+<ul><li>Default: "man" on Posix, "browser" on Windows</li><li>Type: path</li></ul>
+
+<p>The program to use to view help content.</p>
+
+<p>Set to <code>"browser"</code> to view html help content in the default web browser.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/npm.html">npm(1)</a></li><li><a href="../doc/README.html">README</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/help-search.html">help-search(1)</a></li><li><a href="../doc/index.html">index(1)</a></li></ul>
+</div>
+<p id="footer">help &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/home.html b/deps/npm/html/doc/home.html
new file mode 100644
index 0000000000..1b8fc1f941
--- /dev/null
+++ b/deps/npm/html/doc/home.html
@@ -0,0 +1,72 @@
+<!doctype html>
+<html>
+ <title>home</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/docs.html">docs</a></h1> <p>Docs for a package in a web browser maybe</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm docs &lt;pkgname&gt;
+npm home &lt;pkgname&gt;</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command tries to guess at the likely location of a package's
+documentation URL, and then tries to open it using the <code>--browser</code>
+config param.</p>
+
+<h2 id="CONFIGURATION">CONFIGURATION</h2>
+
+<h3 id="browser">browser</h3>
+
+<ul><li>Default: OS X: <code>"open"</code>, others: <code>"google-chrome"</code></li><li>Type: String</li></ul>
+
+<p>The browser that is called by the <code>npm docs</code> command to open websites.</p>
+
+<h3 id="registry">registry</h3>
+
+<ul><li>Default: https://registry.npmjs.org/</li><li>Type: url</li></ul>
+
+<p>The base URL of the npm package registry.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<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">home &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/index.html b/deps/npm/html/doc/index.html
new file mode 100644
index 0000000000..13d963f0ad
--- /dev/null
+++ b/deps/npm/html/doc/index.html
@@ -0,0 +1,407 @@
+<!doctype html>
+<html>
+ <title>index</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/index.html">index</a></h1> <p>Index of all npm documentation</p>
+
+<h2 id="npm-README-1"><a href="../doc/README.html">README</a></h2>
+
+<p> node package manager</p>
+
+<h1>Command Line Documentation</h1>
+
+<h2 id="npm-adduser-1"><a href="../doc/adduser.html">adduser(1)</a></h2>
+
+<p> Add a registry user account</p>
+
+<h2 id="npm-bin-1"><a href="../doc/bin.html">bin(1)</a></h2>
+
+<p> Display npm bin folder</p>
+
+<h2 id="npm-bugs-1"><a href="../doc/bugs.html">bugs(1)</a></h2>
+
+<p> Bugs for a package in a web browser maybe</p>
+
+<h2 id="npm-build-1"><a href="../doc/build.html">build(1)</a></h2>
+
+<p> Build a package</p>
+
+<h2 id="npm-bundle-1"><a href="../doc/bundle.html">bundle(1)</a></h2>
+
+<p> REMOVED</p>
+
+<h2 id="npm-cache-1"><a href="../doc/cache.html">cache(1)</a></h2>
+
+<p> Manipulates packages cache</p>
+
+<h2 id="npm-changelog-1"><a href="../doc/changelog.html">changelog(1)</a></h2>
+
+<p> Changes</p>
+
+<h2 id="npm-coding-style-1"><a href="../doc/coding-style.html">coding-style(1)</a></h2>
+
+<p> npm's "funny" coding style</p>
+
+<h2 id="npm-completion-1"><a href="../doc/completion.html">completion(1)</a></h2>
+
+<p> Tab Completion for npm</p>
+
+<h2 id="npm-config-1"><a href="../doc/config.html">config(1)</a></h2>
+
+<p> Manage the npm configuration file</p>
+
+<h2 id="npm-deprecate-1"><a href="../doc/deprecate.html">deprecate(1)</a></h2>
+
+<p> Deprecate a version of a package</p>
+
+<h2 id="npm-developers-1"><a href="../doc/developers.html">developers(1)</a></h2>
+
+<p> Developer Guide</p>
+
+<h2 id="npm-docs-1"><a href="../doc/docs.html">docs(1)</a></h2>
+
+<p> Docs for a package in a web browser maybe</p>
+
+<h2 id="npm-edit-1"><a href="../doc/edit.html">edit(1)</a></h2>
+
+<p> Edit an installed package</p>
+
+<h2 id="npm-explore-1"><a href="../doc/explore.html">explore(1)</a></h2>
+
+<p> Browse an installed package</p>
+
+<h2 id="npm-faq-1"><a href="../doc/faq.html">faq(1)</a></h2>
+
+<p> Frequently Asked Questions</p>
+
+<h2 id="npm-folders-1"><a href="../doc/folders.html">folders(1)</a></h2>
+
+<p> Folder Structures Used by npm</p>
+
+<h2 id="npm-help-search-1"><a href="../doc/help-search.html">help-search(1)</a></h2>
+
+<p> Search npm help documentation</p>
+
+<h2 id="npm-help-1"><a href="../doc/help.html">help(1)</a></h2>
+
+<p> Get help on npm</p>
+
+<h2 id="npm-init-1"><a href="../doc/init.html">init(1)</a></h2>
+
+<p> Interactively create a package.json file</p>
+
+<h2 id="npm-install-1"><a href="../doc/install.html">install(1)</a></h2>
+
+<p> Install a package</p>
+
+<h2 id="npm-json-1"><a href="../doc/json.html">json(1)</a></h2>
+
+<p> Specifics of npm's package.json handling</p>
+
+<h2 id="npm-link-1"><a href="../doc/link.html">link(1)</a></h2>
+
+<p> Symlink a package folder</p>
+
+<h2 id="npm-list-1"><a href="../doc/list.html">list(1)</a></h2>
+
+<p> List installed packages</p>
+
+<h2 id="npm-1"><a href="../doc/npm.html">npm(1)</a></h2>
+
+<p> node package manager</p>
+
+<h2 id="npm-outdated-1"><a href="../doc/outdated.html">outdated(1)</a></h2>
+
+<p> Check for outdated packages</p>
+
+<h2 id="npm-owner-1"><a href="../doc/owner.html">owner(1)</a></h2>
+
+<p> Manage package owners</p>
+
+<h2 id="npm-pack-1"><a href="../doc/pack.html">pack(1)</a></h2>
+
+<p> Create a tarball from a package</p>
+
+<h2 id="npm-prefix-1"><a href="../doc/prefix.html">prefix(1)</a></h2>
+
+<p> Display prefix</p>
+
+<h2 id="npm-prune-1"><a href="../doc/prune.html">prune(1)</a></h2>
+
+<p> Remove extraneous packages</p>
+
+<h2 id="npm-publish-1"><a href="../doc/publish.html">publish(1)</a></h2>
+
+<p> Publish a package</p>
+
+<h2 id="npm-rebuild-1"><a href="../doc/rebuild.html">rebuild(1)</a></h2>
+
+<p> Rebuild a package</p>
+
+<h2 id="npm-registry-1"><a href="../doc/registry.html">registry(1)</a></h2>
+
+<p> The JavaScript Package Registry</p>
+
+<h2 id="npm-removing-npm-1"><a href="../doc/removing-npm.html">removing-npm(1)</a></h2>
+
+<p> Cleaning the Slate</p>
+
+<h2 id="npm-restart-1"><a href="../doc/restart.html">restart(1)</a></h2>
+
+<p> Start a package</p>
+
+<h2 id="npm-root-1"><a href="../doc/root.html">root(1)</a></h2>
+
+<p> Display npm root</p>
+
+<h2 id="npm-run-script-1"><a href="../doc/run-script.html">run-script(1)</a></h2>
+
+<p> Run arbitrary package scripts</p>
+
+<h2 id="npm-scripts-1"><a href="../doc/scripts.html">scripts(1)</a></h2>
+
+<p> How npm handles the "scripts" field</p>
+
+<h2 id="npm-search-1"><a href="../doc/search.html">search(1)</a></h2>
+
+<p> Search for packages</p>
+
+<h2 id="npm-semver-1"><a href="../doc/semver.html">semver(1)</a></h2>
+
+<p> The semantic versioner for npm</p>
+
+<h2 id="npm-star-1"><a href="../doc/star.html">star(1)</a></h2>
+
+<p> Mark your favorite packages</p>
+
+<h2 id="npm-start-1"><a href="../doc/start.html">start(1)</a></h2>
+
+<p> Start a package</p>
+
+<h2 id="npm-stop-1"><a href="../doc/stop.html">stop(1)</a></h2>
+
+<p> Stop a package</p>
+
+<h2 id="npm-submodule-1"><a href="../doc/submodule.html">submodule(1)</a></h2>
+
+<p> Add a package as a git submodule</p>
+
+<h2 id="npm-tag-1"><a href="../doc/tag.html">tag(1)</a></h2>
+
+<p> Tag a published version</p>
+
+<h2 id="npm-test-1"><a href="../doc/test.html">test(1)</a></h2>
+
+<p> Test a package</p>
+
+<h2 id="npm-uninstall-1"><a href="../doc/uninstall.html">uninstall(1)</a></h2>
+
+<p> Remove a package</p>
+
+<h2 id="npm-unpublish-1"><a href="../doc/unpublish.html">unpublish(1)</a></h2>
+
+<p> Remove a package from the registry</p>
+
+<h2 id="npm-update-1"><a href="../doc/update.html">update(1)</a></h2>
+
+<p> Update a package</p>
+
+<h2 id="npm-version-1"><a href="../doc/version.html">version(1)</a></h2>
+
+<p> Bump a package version</p>
+
+<h2 id="npm-view-1"><a href="../doc/view.html">view(1)</a></h2>
+
+<p> View registry info</p>
+
+<h2 id="npm-whoami-1"><a href="../doc/whoami.html">whoami(1)</a></h2>
+
+<p> Display npm username</p>
+
+<h1>API Documentation</h1>
+
+<h2 id="npm-bin-3"><a href="../api/bin.html">bin(3)</a></h2>
+
+<p> Display npm bin folder</p>
+
+<h2 id="npm-bugs-3"><a href="../api/bugs.html">bugs(3)</a></h2>
+
+<p> Bugs for a package in a web browser maybe</p>
+
+<h2 id="npm-commands-3"><a href="../api/commands.html">commands(3)</a></h2>
+
+<p> npm commands</p>
+
+<h2 id="npm-config-3"><a href="../api/config.html">config(3)</a></h2>
+
+<p> Manage the npm configuration files</p>
+
+<h2 id="npm-deprecate-3"><a href="../api/deprecate.html">deprecate(3)</a></h2>
+
+<p> Deprecate a version of a package</p>
+
+<h2 id="npm-docs-3"><a href="../api/docs.html">docs(3)</a></h2>
+
+<p> Docs for a package in a web browser maybe</p>
+
+<h2 id="npm-edit-3"><a href="../api/edit.html">edit(3)</a></h2>
+
+<p> Edit an installed package</p>
+
+<h2 id="npm-explore-3"><a href="../api/explore.html">explore(3)</a></h2>
+
+<p> Browse an installed package</p>
+
+<h2 id="npm-help-search-3"><a href="../api/help-search.html">help-search(3)</a></h2>
+
+<p> Search the help pages</p>
+
+<h2 id="npm-init-3"><a href="../api/init.html">init(3)</a></h2>
+
+<p> Interactively create a package.json file</p>
+
+<h2 id="npm-install-3"><a href="../api/install.html">install(3)</a></h2>
+
+<p> install a package programmatically</p>
+
+<h2 id="npm-link-3"><a href="../api/link.html">link(3)</a></h2>
+
+<p> Symlink a package folder</p>
+
+<h2 id="npm-load-3"><a href="../api/load.html">load(3)</a></h2>
+
+<p> Load config settings</p>
+
+<h2 id="npm-ls-3"><a href="../api/ls.html">ls(3)</a></h2>
+
+<p> List installed packages</p>
+
+<h2 id="npm-3"><a href="../api/npm.html">npm(3)</a></h2>
+
+<p> node package manager</p>
+
+<h2 id="npm-outdated-3"><a href="../api/outdated.html">outdated(3)</a></h2>
+
+<p> Check for outdated packages</p>
+
+<h2 id="npm-owner-3"><a href="../api/owner.html">owner(3)</a></h2>
+
+<p> Manage package owners</p>
+
+<h2 id="npm-pack-3"><a href="../api/pack.html">pack(3)</a></h2>
+
+<p> Create a tarball from a package</p>
+
+<h2 id="npm-prefix-3"><a href="../api/prefix.html">prefix(3)</a></h2>
+
+<p> Display prefix</p>
+
+<h2 id="npm-prune-3"><a href="../api/prune.html">prune(3)</a></h2>
+
+<p> Remove extraneous packages</p>
+
+<h2 id="npm-publish-3"><a href="../api/publish.html">publish(3)</a></h2>
+
+<p> Publish a package</p>
+
+<h2 id="npm-rebuild-3"><a href="../api/rebuild.html">rebuild(3)</a></h2>
+
+<p> Rebuild a package</p>
+
+<h2 id="npm-restart-3"><a href="../api/restart.html">restart(3)</a></h2>
+
+<p> Start a package</p>
+
+<h2 id="npm-root-3"><a href="../api/root.html">root(3)</a></h2>
+
+<p> Display npm root</p>
+
+<h2 id="npm-run-script-3"><a href="../api/run-script.html">run-script(3)</a></h2>
+
+<p> Run arbitrary package scripts</p>
+
+<h2 id="npm-search-3"><a href="../api/search.html">search(3)</a></h2>
+
+<p> Search for packages</p>
+
+<h2 id="npm-start-3"><a href="../api/start.html">start(3)</a></h2>
+
+<p> Start a package</p>
+
+<h2 id="npm-stop-3"><a href="../api/stop.html">stop(3)</a></h2>
+
+<p> Stop a package</p>
+
+<h2 id="npm-submodule-3"><a href="../api/submodule.html">submodule(3)</a></h2>
+
+<p> Add a package as a git submodule</p>
+
+<h2 id="npm-tag-3"><a href="../api/tag.html">tag(3)</a></h2>
+
+<p> Tag a published version</p>
+
+<h2 id="npm-test-3"><a href="../api/test.html">test(3)</a></h2>
+
+<p> Test a package</p>
+
+<h2 id="npm-uninstall-3"><a href="../api/uninstall.html">uninstall(3)</a></h2>
+
+<p> uninstall a package programmatically</p>
+
+<h2 id="npm-unpublish-3"><a href="../api/unpublish.html">unpublish(3)</a></h2>
+
+<p> Remove a package from the registry</p>
+
+<h2 id="npm-update-3"><a href="../api/update.html">update(3)</a></h2>
+
+<p> Update a package</p>
+
+<h2 id="npm-version-3"><a href="../api/version.html">version(3)</a></h2>
+
+<p> Bump a package version</p>
+
+<h2 id="npm-view-3"><a href="../api/view.html">view(3)</a></h2>
+
+<p> View registry info</p>
+
+<h2 id="npm-whoami-3"><a href="../api/whoami.html">whoami(3)</a></h2>
+
+<p> Display npm username</p>
+</div>
+<p id="footer">index &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/init.html b/deps/npm/html/doc/init.html
new file mode 100644
index 0000000000..a39057b0ee
--- /dev/null
+++ b/deps/npm/html/doc/init.html
@@ -0,0 +1,64 @@
+<!doctype html>
+<html>
+ <title>init</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/init.html">init</a></h1> <p>Interactively create a package.json file</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm init</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This will ask you a bunch of questions, and then write a package.json for you.</p>
+
+<p>It attempts to make reasonable guesses about what you want things to be set to,
+and then writes a package.json file with the options you've selected.</p>
+
+<p>If you already have a package.json file, it'll read that first, and default to
+the options in there.</p>
+
+<p>It is strictly additive, so it does not delete options from your package.json
+without a really good reason to do so.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/version.html">version(1)</a></li></ul>
+</div>
+<p id="footer">init &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/install.html b/deps/npm/html/doc/install.html
new file mode 100644
index 0000000000..c851ae5474
--- /dev/null
+++ b/deps/npm/html/doc/install.html
@@ -0,0 +1,169 @@
+<!doctype html>
+<html>
+ <title>install</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/install.html">install</a></h1> <p>Install a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm install (with no args in a package dir)
+npm install &lt;tarball file&gt;
+npm install &lt;tarball url&gt;
+npm install &lt;folder&gt;
+npm install &lt;name&gt;
+npm install &lt;name&gt;@&lt;tag&gt;
+npm install &lt;name&gt;@&lt;version&gt;
+npm install &lt;name&gt;@&lt;version range&gt;</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command installs a package, and any packages that it depends on.</p>
+
+<p>A <code>package</code> is:</p>
+
+<ul><li>a) a folder containing a program described by a package.json file</li><li>b) a gzipped tarball containing (a)</li><li>c) a url that resolves to (b)</li><li>d) a <code>&lt;name&gt;@&lt;version&gt;</code> that is published on the registry with (c)</li><li>e) a <code>&lt;name&gt;@&lt;tag&gt;</code> that points to (d)</li><li>f) a <code>&lt;name&gt;</code> that has a "latest" tag satisfying (e)</li><li>g) a <code>&lt;git remote url&gt;</code> that resolves to (b)</li></ul>
+
+<p>Even if you never publish your package, you can still get a lot of
+benefits of using npm if you just want to write a node program (a), and
+perhaps if you also want to be able to easily install it elsewhere
+after packing it up into a tarball (b).</p>
+
+<ul><li><p><code>npm install</code> (in package directory, no arguments):
+Install the dependencies in the local node_modules folder.</p><p>In global mode (ie, with <code>-g</code> or <code>--global</code> appended to the command),
+it installs the current package context (ie, the current working
+directory) as a global package.</p></li><li><p><code>npm install &lt;folder&gt;</code>:
+Install a package that is sitting in a folder on the filesystem.</p></li><li><p><code>npm install &lt;tarball file&gt;</code>:
+Install a package that is sitting on the filesystem. Note: if you just want
+to link a dev directory into your npm root, you can do this more easily by
+using <code>npm link</code>.</p><p>Example:</p><pre><code>npm install ./package.tgz</code></pre></li><li><p><code>npm install &lt;tarball url&gt;</code>:
+Fetch the tarball url, and then install it. In order to distinguish between
+this and other options, the argument must start with "http://" or "https://"</p><p>Example:</p><pre><code>npm install https://github.com/indexzero/forever/tarball/v0.5.6</code></pre></li><li><p><code>npm install &lt;name&gt;</code>:
+Do a <code>&lt;name&gt;@&lt;tag&gt;</code> install, where <code>&lt;tag&gt;</code> is the "tag" config. (See
+<code><a href="../doc/config.html">config(1)</a></code>)</p><p>Example:</p><pre><code>npm install sax</code></pre><p><strong>Note</strong>: If there is a file or folder named <code>&lt;name&gt;</code> in the current
+working directory, then it will try to install that, and only try to
+fetch the package by name if it is not valid.</p></li><li><p><code>npm install &lt;name&gt;@&lt;tag&gt;</code>:
+Install the version of the package that is referenced by the specified tag.
+If the tag does not exist in the registry data for that package, then this
+will fail.</p><p>Example:</p><pre><code>npm install sax@latest</code></pre></li><li><p><code>npm install &lt;name&gt;@&lt;version&gt;</code>:
+Install the specified version of the package. This will fail if the version
+has not been published to the registry.</p><p>Example:</p><pre><code>npm install sax@0.1.1</code></pre></li><li><p><code>npm install &lt;name&gt;@&lt;version range&gt;</code>:
+Install a version of the package matching the specified version range. This
+will follow the same rules for resolving dependencies described in <code><a href="../doc/json.html">json(1)</a></code>.</p><p>Note that most version ranges must be put in quotes so that your shell will
+treat it as a single argument.</p><p>Example:</p><pre><code>npm install sax@"&gt;=0.1.0 &lt;0.2.0"</code></pre></li><li><p><code>npm install &lt;git remote url&gt;</code>:</p><p>Install a package by cloning a git remote url. The format of the git
+url is:</p><pre><code>&lt;protocol&gt;://[&lt;user&gt;@]&lt;hostname&gt;&lt;separator&gt;&lt;path&gt;[#&lt;commit-ish&gt;]</code></pre><p><code>&lt;protocol&gt;</code> is one of <code>git</code>, <code>git+ssh</code>, <code>git+http</code>, or
+<code>git+https</code>. If no <code>&lt;commit-ish&gt;</code> is specified, then <code>master</code> is
+used.</p><p>Examples:</p><pre><code>git+ssh://git@github.com:isaacs/npm.git#v1.0.27
+git+https://isaacs@github.com/isaacs/npm.git
+git://github.com/isaacs/npm.git#v1.0.27</code></pre></li></ul>
+
+<p>You may combine multiple arguments, and even multiple types of arguments.
+For example:</p>
+
+<pre><code>npm install sax@"&gt;=0.1.0 &lt;0.2.0" bench supervisor</code></pre>
+
+<p>The <code>--tag</code> argument will apply to all of the specified install targets.</p>
+
+<p>The <code>--force</code> argument will force npm to fetch remote resources even if a
+local copy exists on disk.</p>
+
+<pre><code>npm install sax --force</code></pre>
+
+<p>The <code>--global</code> argument will cause npm to install the package globally
+rather than locally. See <code><a href="../doc/global.html">global(1)</a></code>.</p>
+
+<p>The <code>--link</code> argument will cause npm to link global installs into the
+local space in some cases.</p>
+
+<p>See <code><a href="../doc/config.html">config(1)</a></code>. Many of the configuration params have some
+effect on installation, since that's most of what npm does.</p>
+
+<h2 id="ALGORITHM">ALGORITHM</h2>
+
+<p>To install a package, npm uses the following algorithm:</p>
+
+<pre><code>install(where, what, family, ancestors)
+fetch what, unpack to &lt;where&gt;/node_modules/&lt;what&gt;
+for each dep in what.dependencies
+ resolve dep to precise version
+for each dep@version in what.dependencies
+ not in &lt;where&gt;/node_modules/&lt;what&gt;/node_modules/*
+ and not in &lt;family&gt;
+ add precise version deps to &lt;family&gt;
+ install(&lt;where&gt;/node_modules/&lt;what&gt;, dep, family)</code></pre>
+
+<p>For this <code>package{dep}</code> structure: <code>A{B,C}, B{C}, C{D}</code>,
+this algorithm produces:</p>
+
+<pre><code>A
++-- B
+`-- C
+ `-- D</code></pre>
+
+<p>That is, the dependency from B to C is satisfied by the fact that A
+already caused C to be installed at a higher level.</p>
+
+<p>See <a href="../doc/folders.html">folders(1)</a> for a more detailed description of the specific
+folder structures that npm creates.</p>
+
+<h3 id="Limitations-of-npm-s-Install-Algorithm">Limitations of npm's Install Algorithm</h3>
+
+<p>There are some very rare and pathological edge-cases where a cycle can
+cause npm to try to install a never-ending tree of packages. Here is
+the simplest case:</p>
+
+<pre><code>A -&gt; B -&gt; A' -&gt; B' -&gt; A -&gt; B -&gt; A' -&gt; B' -&gt; A -&gt; ...</code></pre>
+
+<p>where <code>A</code> is some version of a package, and <code>A'</code> is a different version
+of the same package. Because <code>B</code> depends on a different version of <code>A</code>
+than the one that is already in the tree, it must install a separate
+copy. The same is true of <code>A'</code>, which must install <code>B'</code>. Because <code>B'</code>
+depends on the original version of <code>A</code>, which has been overridden, the
+cycle falls into infinite regress.</p>
+
+<p>To avoid this situation, npm flat-out refuses to install any
+<code>name@version</code> that is already present anywhere in the tree of package
+folder ancestors. A more correct, but more complex, solution would be
+to symlink the existing version into the new location. If this ever
+affects a real use-case, it will be investigated.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<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></ul>
+</div>
+<p id="footer">install &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/json.html b/deps/npm/html/doc/json.html
new file mode 100644
index 0000000000..d44f3d8f68
--- /dev/null
+++ b/deps/npm/html/doc/json.html
@@ -0,0 +1,471 @@
+<!doctype html>
+<html>
+ <title>json</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/json.html">json</a></h1> <p>Specifics of npm's package.json handling</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This document is all you need to know about what's required in your package.json
+file. It must be actual JSON, not just a JavaScript object literal.</p>
+
+<p>A lot of the behavior described in this document is affected by the config
+settings described in <code><a href="../doc/config.html">config(1)</a></code>.</p>
+
+<h2 id="DEFAULT-VALUES">DEFAULT VALUES</h2>
+
+<p>npm will default some values based on package contents.</p>
+
+<ul><li><p><code>"scripts": {"start": "node server.js"}</code></p><p>If there is a <code>server.js</code> file in the root of your package, then npm
+will default the <code>start</code> command to <code>node server.js</code>.</p></li><li><p><code>"scripts":{"preinstall": "node-waf clean || true; node-waf configure build"}</code></p><p>If there is a <code>wscript</code> file in the root of your package, npm will
+default the <code>preinstall</code> command to compile using node-waf.</p></li><li><p><code>"contributors": [...]</code></p><p>If there is an <code>AUTHORS</code> file in the root of your package, npm will
+treat each line as a <code>Name &lt;email&gt; (url)</code> format, where email and url
+are optional. Lines which start with a <code>#</code> or are blank, will be
+ignored.</p></li></ul>
+
+<h2 id="name">name</h2>
+
+<p>The <em>most</em> important things in your package.json are the name and version fields.
+Those are actually required, and your package won't install without
+them. The name and version together form an identifier that is assumed
+to be completely unique. Changes to the package should come along with
+changes to the version.</p>
+
+<p>The name is what your thing is called. Some tips:</p>
+
+<ul><li>Don't put "js" or "node" in the name. It's assumed that it's js, since you're
+writing a package.json file, and you can specify the engine using the "engines"
+field. (See below.)</li><li>The name ends up being part of a URL, an argument on the command line, and a
+folder name. Any name with non-url-safe characters will be rejected.
+Also, it can't start with a dot or an underscore.</li><li>The name will probably be passed as an argument to require(), so it should
+be something short, but also reasonably descriptive.</li><li>You may want to check the npm registry to see if there's something by that name
+already, before you get too attached to it. http://registry.npmjs.org/</li></ul>
+
+<h2 id="version">version</h2>
+
+<p>The <em>most</em> important things in your package.json are the name and version fields.
+Those are actually required, and your package won't install without
+them. The name and version together form an identifier that is assumed
+to be completely unique. Changes to the package should come along with
+changes to the version.</p>
+
+<p>Version must be parseable by
+<a href="https://github.com/isaacs/node-semver">node-semver</a>, which is bundled
+with npm as a dependency. (<code>npm install semver</code> to use it yourself.)</p>
+
+<p>Here's how npm's semver implementation deviates from what's on semver.org:</p>
+
+<ul><li>Versions can start with "v"</li><li>A numeric item separated from the main three-number version by a hyphen
+will be interpreted as a "build" number, and will <em>increase</em> the version.
+But, if the tag is not a number separated by a hyphen, then it's treated
+as a pre-release tag, and is <em>less than</em> the version without a tag.
+So, <code>0.1.2-7 &gt; 0.1.2-7-beta &gt; 0.1.2-6 &gt; 0.1.2 &gt; 0.1.2beta</code></li></ul>
+
+<p>This is a little bit confusing to explain, but matches what you see in practice
+when people create tags in git like "v1.2.3" and then do "git describe" to generate
+a patch version.</p>
+
+<h2 id="description">description</h2>
+
+<p>Put a description in it. It's a string. This helps people discover your
+package, as it's listed in <code>npm search</code>.</p>
+
+<h2 id="keywords">keywords</h2>
+
+<p>Put keywords in it. It's an array of strings. This helps people
+discover your package as it's listed in <code>npm search</code>.</p>
+
+<h2 id="homepage">homepage</h2>
+
+<p>The url to the project homepage.</p>
+
+<p><strong>NOTE</strong>: This is <em>not</em> the same as "url". If you put a "url" field,
+then the registry will think it's a redirection to your package that has
+been published somewhere else, and spit at you.</p>
+
+<p>Literally. Spit. I'm so not kidding.</p>
+
+<h2 id="bugs">bugs</h2>
+
+<p>The url to your project's issue tracker and / or the email address to which
+issues should be reported. These are helpful for people who encounter issues
+with your package.</p>
+
+<p>It should look like this:</p>
+
+<pre><code>{ "url" : "http://github.com/owner/project/issues"
+, "email" : "project@hostname.com"
+}</code></pre>
+
+<p>You can specify either one or both values. If you want to provide only a url,
+you can specify the value for "bugs" as a simple string instead of an object.</p>
+
+<p>If a url is provided, it will be used by the <code>npm bugs</code> command.</p>
+
+<h2 id="people-fields-author-contributors">people fields: author, contributors</h2>
+
+<p>The "author" is one person. "contributors" is an array of people. A "person"
+is an object with a "name" field and optionally "url" and "email", like this:</p>
+
+<pre><code>{ "name" : "Barney Rubble"
+, "email" : "b@rubble.com"
+, "url" : "http://barnyrubble.tumblr.com/"
+}</code></pre>
+
+<p>Or you can shorten that all into a single string, and npm will parse it for you:</p>
+
+<pre><code>"Barney Rubble &lt;b@rubble.com&gt; (http://barnyrubble.tumblr.com/)</code></pre>
+
+<p>Both email and url are optional either way.</p>
+
+<p>npm also sets a top-level "maintainers" field with your npm user info.</p>
+
+<h2 id="files">files</h2>
+
+<p>The "files" field is an array of files to include in your project. If
+you name a folder in the array, then it will also include the files
+inside that folder. (Unless they would be ignored by another rule.)</p>
+
+<p>You can also provide a ".npmignore" file in the root of your package,
+which will keep files from being included, even if they would be picked
+up by the files array. The ".npmignore" file works just like a
+".gitignore".</p>
+
+<h2 id="main">main</h2>
+
+<p>The main field is a module ID that is the primary entry point to your program.
+That is, if your package is named <code>foo</code>, and a user installs it, and then does
+<code>require("foo")</code>, then your main module's exports object will be returned.</p>
+
+<p>This should be a module ID relative to the root of your package folder.</p>
+
+<p>For most modules, it makes the most sense to have a main script and often not
+much else.</p>
+
+<h2 id="bin">bin</h2>
+
+<p>A lot of packages have one or more executable files that they'd like to
+install into the PATH. npm makes this pretty easy (in fact, it uses this
+feature to install the "npm" executable.)</p>
+
+<p>To use this, supply a <code>bin</code> field in your package.json which is a map of
+command name to local file name. On install, npm will symlink that file into
+<code>prefix/bin</code> for global installs, or <code>./node_modules/.bin/</code> for local
+installs.</p>
+
+<p>For example, npm has this:</p>
+
+<pre><code>{ "bin" : { "npm" : "./cli.js" } }</code></pre>
+
+<p>So, when you install npm, it'll create a symlink from the <code>cli.js</code> script to
+<code>/usr/local/bin/npm</code>.</p>
+
+<p>If you have a single executable, and its name should be the name
+of the package, then you can just supply it as a string. For example:</p>
+
+<pre><code>{ "name": "my-program"
+, "version": "1.2.5"
+, "bin": "./path/to/program" }</code></pre>
+
+<p>would be the same as this:</p>
+
+<pre><code>{ "name": "my-program"
+, "version": "1.2.5"
+, "bin" : { "my-program" : "./path/to/program" } }</code></pre>
+
+<h2 id="man">man</h2>
+
+<p>Specify either a single file or an array of filenames to put in place for the
+<code>man</code> program to find.</p>
+
+<p>If only a single file is provided, then it's installed such that it is the
+result from <code>man &lt;pkgname&gt;</code>, regardless of its actual filename. For example:</p>
+
+<pre><code>{ "name" : "foo"
+, "version" : "1.2.3"
+, "description" : "A packaged foo fooer for fooing foos"
+, "main" : "foo.js"
+, "man" : "./man/doc.1"
+}</code></pre>
+
+<p>would link the <code>./man/doc.1</code> file in such that it is the target for <code>man foo</code></p>
+
+<p>If the filename doesn't start with the package name, then it's prefixed.
+So, this:</p>
+
+<pre><code>{ "name" : "foo"
+, "version" : "1.2.3"
+, "description" : "A packaged foo fooer for fooing foos"
+, "main" : "foo.js"
+, "man" : [ "./man/foo.1", "./man/bar.1" ]
+}</code></pre>
+
+<p>will create files to do <code>man foo</code> and <code>man foo-bar</code>.</p>
+
+<p>Man files must end with a number, and optionally a <code>.gz</code> suffix if they are
+compressed. The number dictates which man section the file is installed into.</p>
+
+<pre><code>{ "name" : "foo"
+, "version" : "1.2.3"
+, "description" : "A packaged foo fooer for fooing foos"
+, "main" : "foo.js"
+, "man" : [ "./man/foo.1", "./man/foo.2" ]
+}</code></pre>
+
+<p>will create entries for <code>man foo</code> and <code>man 2 foo</code></p>
+
+<h2 id="directories">directories</h2>
+
+<p>The CommonJS <a href="http://wiki.commonjs.org/wiki/Packages/1.0">Packages</a> spec details a
+few ways that you can indicate the structure of your package using a <code>directories</code>
+hash. If you look at <a href="http://registry.npmjs.org/npm/latest">npm's package.json</a>,
+you'll see that it has directories for doc, lib, and man.</p>
+
+<p>In the future, this information may be used in other creative ways.</p>
+
+<h3 id="directories-lib">directories.lib</h3>
+
+<p>Tell people where the bulk of your library is. Nothing special is done
+with the lib folder in any way, but it's useful meta info.</p>
+
+<h3 id="directories-bin">directories.bin</h3>
+
+<p>If you specify a "bin" directory, then all the files in that folder will
+be used as the "bin" hash.</p>
+
+<p>If you have a "bin" hash already, then this has no effect.</p>
+
+<h3 id="directories-man">directories.man</h3>
+
+<p>A folder that is full of man pages. Sugar to generate a "man" array by
+walking the folder.</p>
+
+<h3 id="directories-doc">directories.doc</h3>
+
+<p>Put markdown files in here. Eventually, these will be displayed nicely,
+maybe, someday.</p>
+
+<h3 id="directories-example">directories.example</h3>
+
+<p>Put example scripts in here. Someday, it might be exposed in some clever way.</p>
+
+<h2 id="repository">repository</h2>
+
+<p>Specify the place where your code lives. This is helpful for people who
+want to contribute. If the git repo is on github, then the <code>npm docs</code>
+command will be able to find you.</p>
+
+<p>Do it like this:</p>
+
+<pre><code>"repository" :
+ { "type" : "git"
+ , "url" : "http://github.com/isaacs/npm.git"
+ }
+
+"repository" :
+ { "type" : "svn"
+ , "url" : "http://v8.googlecode.com/svn/trunk/"
+ }</code></pre>
+
+<p>The URL should be a publicly available (perhaps read-only) url that can be handed
+directly to a VCS program without any modification. It should not be a url to an
+html project page that you put in your browser. It's for computers.</p>
+
+<h2 id="scripts">scripts</h2>
+
+<p>The "scripts" member is an object hash of script commands that are run
+at various times in the lifecycle of your package. The key is the lifecycle
+event, and the value is the command to run at that point.</p>
+
+<p>See <code><a href="../doc/scripts.html">scripts(1)</a></code> to find out more about writing package scripts.</p>
+
+<h2 id="config">config</h2>
+
+<p>A "config" hash can be used to set configuration
+parameters used in package scripts that persist across upgrades. For
+instance, if a package had the following:</p>
+
+<pre><code>{ "name" : "foo"
+, "config" : { "port" : "8080" } }</code></pre>
+
+<p>and then had a "start" command that then referenced the
+<code>npm_package_config_port</code> environment variable, then the user could
+override that by doing <code>npm config set foo:port 8001</code>.</p>
+
+<p>See <code><a href="../doc/config.html">config(1)</a></code> and <code><a href="../doc/scripts.html">scripts(1)</a></code> for more on package
+configs.</p>
+
+<h2 id="dependencies">dependencies</h2>
+
+<p>Dependencies are specified with a simple hash of package name to version
+range. The version range is EITHER a string which has one or more
+space-separated descriptors, OR a range like "fromVersion - toVersion"</p>
+
+<p><strong>Please do not put test harnesses in your <code>dependencies</code> hash.</strong> See
+<code>devDependencies</code>, below.</p>
+
+<p>Version range descriptors may be any of the following styles, where "version"
+is a semver compatible version identifier.</p>
+
+<ul><li><code>version</code> Must match <code>version</code> exactly</li><li><code>=version</code> Same as just <code>version</code></li><li><code>&gt;version</code> Must be greater than <code>version</code></li><li><code>&gt;=version</code> etc</li><li><code>&lt;version</code></li><li><code>&lt;=version</code></li><li><code>~version</code> See 'Tilde Version Ranges' below</li><li><code>1.2.x</code> See 'X Version Ranges' below</li><li><code>http://...</code> See 'URLs as Dependencies' below</li><li><code>*</code> Matches any version</li><li><code>""</code> (just an empty string) Same as <code>*</code></li><li><code>version1 - version2</code> Same as <code>&gt;=version1 &lt;=version2</code>.</li><li><code>range1 || range2</code> Passes if either range1 or range2 are satisfied.</li></ul>
+
+<p>For example, these are all valid:</p>
+
+<pre><code>{ "dependencies" :
+ { "foo" : "1.0.0 - 2.9999.9999"
+ , "bar" : "&gt;=1.0.2 &lt;2.1.2"
+ , "baz" : "&gt;1.0.2 &lt;=2.3.4"
+ , "boo" : "2.0.1"
+ , "qux" : "&lt;1.0.0 || &gt;=2.3.1 &lt;2.4.5 || &gt;=2.5.2 &lt;3.0.0"
+ , "asd" : "http://asdf.com/asdf.tar.gz"
+ , "til" : "~1.2"
+ , "elf" : "~1.2.3"
+ , "two" : "2.x"
+ , "thr" : "3.3.x"
+ }
+}</code></pre>
+
+<h3 id="Tilde-Version-Ranges">Tilde Version Ranges</h3>
+
+<p>A range specifier starting with a tilde <code>~</code> character is matched against
+a version in the following fashion.</p>
+
+<ul><li>The version must be at least as high as the range.</li><li>The version must be less than the next major revision above the range.</li></ul>
+
+<p>For example, the following are equivalent:</p>
+
+<ul><li><code>"~1.2.3" = "&gt;=1.2.3 &lt;1.3.0"</code></li><li><code>"~1.2" = "&gt;=1.2.0 &lt;2.0.0"</code></li><li><code>"~1" = "&gt;=1.0.0 &lt;2.0.0"</code></li></ul>
+
+<h3 id="X-Version-Ranges">X Version Ranges</h3>
+
+<p>An "x" in a version range specifies that the version number must start
+with the supplied digits, but any digit may be used in place of the x.</p>
+
+<p>The following are equivalent:</p>
+
+<ul><li><code>"1.2.x" = "&gt;=1.2.0 &lt;1.3.0"</code></li><li><code>"1.x.x" = "&gt;=1.0.0 &lt;2.0.0"</code></li><li><code>"1.2" = "1.2.x"</code></li><li><code>"1.x" = "1.x.x"</code></li><li><code>"1" = "1.x.x"</code></li></ul>
+
+<p>You may not supply a comparator with a version containing an x. Any
+digits after the first "x" are ignored.</p>
+
+<h3 id="URLs-as-Dependencies">URLs as Dependencies</h3>
+
+<p>Starting with npm version 0.2.14, you may specify a tarball URL in place
+of a version range.</p>
+
+<p>This tarball will be downloaded and installed locally to your package at
+install time.</p>
+
+<h2 id="devDependencies">devDependencies</h2>
+
+<p>If someone is planning on downloading and using your module in their
+program, then they probably don't want or need to download and build
+the external test or documentation framework that you use.</p>
+
+<p>In this case, it's best to list these additional items in a
+<code>devDependencies</code> hash.</p>
+
+<p>These things will be installed whenever the <code>--dev</code> configuration flag
+is set. This flag is set automatically when doing <code>npm link</code>, and can
+be managed like any other npm configuration param. See <code><a href="../doc/config.html">config(1)</a></code>
+for more on the topic.</p>
+
+<h2 id="bundledDependencies">bundledDependencies</h2>
+
+<p>Array of package names that will be bundled when publishing the package.</p>
+
+<p>If this is spelled <code>"bundleDependencies"</code>, then that is also honorable.</p>
+
+<h2 id="engines">engines</h2>
+
+<p>You can specify the version of
+node that your stuff works on:</p>
+
+<pre><code>{ "engines" : { "node" : "&gt;=0.1.27 &lt;0.1.30" } }</code></pre>
+
+<p>And, like with dependencies, if you don't specify the version (or if you
+specify "*" as the version), then any version of node will do.</p>
+
+<p>If you specify an "engines" field, then npm will require that "node" be
+somewhere on that list. If "engines" is omitted, then npm will just assume
+that it works on node.</p>
+
+<p>You can also use the "engines" field to specify which versions of npm
+are capable of properly installing your program. For example:</p>
+
+<pre><code>{ "engines" : { "npm" : "~1.0.20" } }</code></pre>
+
+<h2 id="preferGlobal">preferGlobal</h2>
+
+<p>If your package is primarily a command-line application that should be
+installed globally, then set this value to <code>true</code> to provide a warning
+if it is installed locally.</p>
+
+<p>It doesn't actually prevent users from installing it locally, but it
+does help prevent some confusion if it doesn't work as expected.</p>
+
+<h2 id="private">private</h2>
+
+<p>If you set <code>"private": true</code> in your package.json, then npm will refuse
+to publish it.</p>
+
+<p>This is a way to prevent accidental publication of private repositories.
+If you would like to ensure that a given package is only ever published
+to a speciic registry (for example, an internal registry),
+then use the <code>publishConfig</code> hash described below
+to override the <code>registry</code> config param at publish-time.</p>
+
+<h2 id="publishConfig">publishConfig</h2>
+
+<p>This is a set of config values that will be used at publish-time. It's
+especially handy if you want to set the tag or registry, so that you can
+ensure that a given package is not tagged with "latest" or published to
+the global public registry by default.</p>
+
+<p>Any config values can be overridden, but of course only "tag" and
+"registry" probably matter for the purposes of publishing.</p>
+
+<p>See <code><a href="../doc/config.html">config(1)</a></code> to see the list of config options that can be
+overridden.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/semver.html">semver(1)</a></li><li><a href="../doc/init.html">init(1)</a></li><li><a href="../doc/version.html">version(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/help.html">help(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/rm.html">rm(1)</a></li></ul>
+</div>
+<p id="footer">json &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/link.html b/deps/npm/html/doc/link.html
new file mode 100644
index 0000000000..5581ce4b2a
--- /dev/null
+++ b/deps/npm/html/doc/link.html
@@ -0,0 +1,93 @@
+<!doctype html>
+<html>
+ <title>link</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/link.html">link</a></h1> <p>Symlink a package folder</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm link (in package folder)
+npm link &lt;pkgname&gt;</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Package linking is a two-step process.</p>
+
+<p>First, <code>npm link</code> in a package folder will create a globally-installed
+symbolic link from <code>prefix/package-name</code> to the current folder.</p>
+
+<p>Next, in some other location, <code>npm link package-name</code> will create a
+symlink from the local <code>node_modules</code> folder to the global symlink.</p>
+
+<p>When creating tarballs for <code>npm publish</code>, the linked packages are
+"snapshotted" to their current state by resolving the symbolic links.</p>
+
+<p>This is
+handy for installing your own stuff, so that you can work on it and test it
+iteratively without having to continually rebuild.</p>
+
+<p>For example:</p>
+
+<pre><code>cd ~/projects/node-redis # go into the package directory
+npm link # creates global link
+cd ~/projects/node-bloggy # go into some other package directory.
+npm link redis # link-install the package</code></pre>
+
+<p>Now, any changes to ~/projects/node-redis will be reflected in
+~/projects/node-bloggy/node_modules/redis/</p>
+
+<p>You may also shortcut the two steps in one. For example, to do the
+above use-case in a shorter way:</p>
+
+<pre><code>cd ~/projects/node-bloggy # go into the dir of your main project
+npm link ../node-redis # link the dir of your dependency</code></pre>
+
+<p>The second line is the equivalent of doing:</p>
+
+<pre><code>(cd ../node-redis; npm link)
+npm link redis</code></pre>
+
+<p>That is, it first creates a global link, and then links the global
+installation target into your project's <code>node_modules</code> folder.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
+</div>
+<p id="footer">link &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/list.html b/deps/npm/html/doc/list.html
new file mode 100644
index 0000000000..d6e0c48cbc
--- /dev/null
+++ b/deps/npm/html/doc/list.html
@@ -0,0 +1,87 @@
+<!doctype html>
+<html>
+ <title>list</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/ls.html">ls</a></h1> <p>List installed packages</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm list
+npm ls
+npm la
+npm ll</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command will print to stdout all the versions of packages that are
+installed, as well as their dependencies, in a tree-structure.</p>
+
+<p>It does not take positional arguments, though you may set config flags
+like with any other command, such as <code>-g</code> to list global packages.</p>
+
+<p>It will print out extraneous, missing, and invalid packages.</p>
+
+<p>When run as <code>ll</code> or <code>la</code>, it shows extended information by default.</p>
+
+<h2 id="CONFIGURATION">CONFIGURATION</h2>
+
+<h3 id="long">long</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Show extended information.</p>
+
+<h3 id="parseable">parseable</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Show parseable output instead of tree view.</p>
+
+<h3 id="global">global</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>List packages in the global install prefix instead of in the current
+project.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/link.html">link(1)</a></li><li><a href="../doc/prune.html">prune(1)</a></li><li><a href="../doc/outdated.html">outdated(1)</a></li><li><a href="../doc/update.html">update(1)</a></li></ul>
+</div>
+<p id="footer">list &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/ln.html b/deps/npm/html/doc/ln.html
new file mode 100644
index 0000000000..211ff92a6f
--- /dev/null
+++ b/deps/npm/html/doc/ln.html
@@ -0,0 +1,93 @@
+<!doctype html>
+<html>
+ <title>ln</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/link.html">link</a></h1> <p>Symlink a package folder</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm link (in package folder)
+npm link &lt;pkgname&gt;</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Package linking is a two-step process.</p>
+
+<p>First, <code>npm link</code> in a package folder will create a globally-installed
+symbolic link from <code>prefix/package-name</code> to the current folder.</p>
+
+<p>Next, in some other location, <code>npm link package-name</code> will create a
+symlink from the local <code>node_modules</code> folder to the global symlink.</p>
+
+<p>When creating tarballs for <code>npm publish</code>, the linked packages are
+"snapshotted" to their current state by resolving the symbolic links.</p>
+
+<p>This is
+handy for installing your own stuff, so that you can work on it and test it
+iteratively without having to continually rebuild.</p>
+
+<p>For example:</p>
+
+<pre><code>cd ~/projects/node-redis # go into the package directory
+npm link # creates global link
+cd ~/projects/node-bloggy # go into some other package directory.
+npm link redis # link-install the package</code></pre>
+
+<p>Now, any changes to ~/projects/node-redis will be reflected in
+~/projects/node-bloggy/node_modules/redis/</p>
+
+<p>You may also shortcut the two steps in one. For example, to do the
+above use-case in a shorter way:</p>
+
+<pre><code>cd ~/projects/node-bloggy # go into the dir of your main project
+npm link ../node-redis # link the dir of your dependency</code></pre>
+
+<p>The second line is the equivalent of doing:</p>
+
+<pre><code>(cd ../node-redis; npm link)
+npm link redis</code></pre>
+
+<p>That is, it first creates a global link, and then links the global
+installation target into your project's <code>node_modules</code> folder.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<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">ln &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/ls.html b/deps/npm/html/doc/ls.html
new file mode 100644
index 0000000000..eaaab607ee
--- /dev/null
+++ b/deps/npm/html/doc/ls.html
@@ -0,0 +1,87 @@
+<!doctype html>
+<html>
+ <title>ls</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/ls.html">ls</a></h1> <p>List installed packages</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm list
+npm ls
+npm la
+npm ll</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command will print to stdout all the versions of packages that are
+installed, as well as their dependencies, in a tree-structure.</p>
+
+<p>It does not take positional arguments, though you may set config flags
+like with any other command, such as <code>-g</code> to list global packages.</p>
+
+<p>It will print out extraneous, missing, and invalid packages.</p>
+
+<p>When run as <code>ll</code> or <code>la</code>, it shows extended information by default.</p>
+
+<h2 id="CONFIGURATION">CONFIGURATION</h2>
+
+<h3 id="long">long</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Show extended information.</p>
+
+<h3 id="parseable">parseable</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Show parseable output instead of tree view.</p>
+
+<h3 id="global">global</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>List packages in the global install prefix instead of in the current
+project.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<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.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/npm.html b/deps/npm/html/doc/npm.html
new file mode 100644
index 0000000000..cb61192de0
--- /dev/null
+++ b/deps/npm/html/doc/npm.html
@@ -0,0 +1,170 @@
+<!doctype html>
+<html>
+ <title>npm</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/npm.html">npm</a></h1> <p>node package manager</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm &lt;command&gt; [args]</code></pre>
+
+<h2 id="VERSION">VERSION</h2>
+
+<p>1.1.0-alpha-2</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>npm is the package manager for the Node JavaScript platform. It puts
+modules in place so that node can find them, and manages dependency
+conflicts intelligently.</p>
+
+<p>It is extremely configurable to support a wide variety of use cases.
+Most commonly, it is used to publish, discover, install, and develop node
+programs.</p>
+
+<p>Run <code>npm help</code> to get a list of available commands.</p>
+
+<h2 id="INTRODUCTION">INTRODUCTION</h2>
+
+<p>You probably got npm because you want to install stuff.</p>
+
+<p>Use <code>npm install blerg</code> to install the latest version of "blerg". Check out
+<code><a href="../doc/install.html">install(1)</a></code> for more info. It can do a lot of stuff.</p>
+
+<p>Use the <code>npm search</code> command to show everything that's available.
+Use <code>npm ls</code> to show everything you've installed.</p>
+
+<h2 id="DIRECTORIES">DIRECTORIES</h2>
+
+<p>See <code><a href="../doc/folders.html">folders(1)</a></code> to learn about where npm puts stuff.</p>
+
+<p>In particular, npm has two modes of operation:</p>
+
+<ul><li>global mode:<br />npm installs packages into the install prefix at
+<code>prefix/lib/node_modules</code> and bins are installed in <code>prefix/bin</code>.</li><li>local mode:<br />npm installs packages into the current project directory, which
+defaults to the current working directory. Packages are installed to
+<code>./node_modules</code>, and bins are installed to <code>./node_modules/.bin</code>.</li></ul>
+
+<p>Local mode is the default. Use <code>--global</code> or <code>-g</code> on any command to
+operate in global mode instead.</p>
+
+<h2 id="DEVELOPER-USAGE">DEVELOPER USAGE</h2>
+
+<p>If you're using npm to develop and publish your code, check out the
+following help topics:</p>
+
+<ul><li>json:
+Make a package.json file. See <code><a href="../doc/json.html">json(1)</a></code>.</li><li>link:
+For linking your current working code into Node's path, so that you
+don't have to reinstall every time you make a change. Use
+<code>npm link</code> to do this.</li><li>install:
+It's a good idea to install things if you don't need the symbolic link.
+Especially, installing other peoples code from the registry is done via
+<code>npm install</code></li><li>adduser:
+Create an account or log in. Creditials are stored in the
+user config file.</li><li>publish:
+Use the <code>npm publish</code> command to upload your code to the registry.</li></ul>
+
+<h2 id="CONFIGURATION">CONFIGURATION</h2>
+
+<p>npm is extremely configurable. It reads its configuration options from
+5 places.</p>
+
+<ul><li>Command line switches:<br />Set a config with <code>--key val</code>. All keys take a value, even if they
+are booleans (the config parser doesn't know what the options are at
+the time of parsing.) If no value is provided, then the option is set
+to boolean <code>true</code>.</li><li>Environment Variables:<br />Set any config by prefixing the name in an environment variable with
+<code>npm_config_</code>. For example, <code>export npm_config_key=val</code>.</li><li>User Configs:<br />The file at $HOME/.npmrc is an ini-formatted list of configs. If
+present, it is parsed. If the <code>userconfig</code> option is set in the cli
+or env, then that will be used instead.</li><li>Global Configs:<br />The file found at ../etc/npmrc (from the node executable, by default
+this resolves to /usr/local/etc/npmrc) will be parsed if it is found.
+If the <code>globalconfig</code> option is set in the cli, env, or user config,
+then that file is parsed instead.</li><li>Defaults:<br />npm's default configuration options are defined in
+lib/utils/config-defs.js. These must not be changed.</li></ul>
+
+<p>See <code><a href="../doc/config.html">config(1)</a></code> for much much more information.</p>
+
+<h2 id="CONTRIBUTIONS">CONTRIBUTIONS</h2>
+
+<p>Patches welcome!</p>
+
+<ul><li>code:
+Read through <code><a href="../doc/coding-style.html">coding-style(1)</a></code> if you plan to submit code.
+You don't have to agree with it, but you do have to follow it.</li><li>docs:
+If you find an error in the documentation, edit the appropriate markdown
+file in the "doc" folder. (Don't worry about generating the man page.)</li></ul>
+
+<p>Contributors are listed in npm's <code>package.json</code> file. You can view them
+easily by doing <code>npm view npm contributors</code>.</p>
+
+<p>If you would like to contribute, but don't know what to work on, check
+the issues list or ask on the mailing list.</p>
+
+<ul><li><a href="http://github.com/isaacs/npm/issues">http://github.com/isaacs/npm/issues</a></li><li><a href="mailto:npm-@googlegroups.com">npm-@googlegroups.com</a></li></ul>
+
+<h2 id="BUGS">BUGS</h2>
+
+<p>When you find issues, please report them:</p>
+
+<ul><li>web:
+<a href="http://github.com/isaacs/npm/issues">http://github.com/isaacs/npm/issues</a></li><li>email:
+<a href="mailto:npm-@googlegroups.com">npm-@googlegroups.com</a></li></ul>
+
+<p>Be sure to include <em>all</em> of the output from the npm command that didn't work
+as expected. The <code>npm-debug.log</code> file is also helpful to provide.</p>
+
+<p>You can also look for isaacs in #node.js on irc://irc.freenode.net. He
+will no doubt tell you to put the output in a gist or email.</p>
+
+<h2 id="HISTORY">HISTORY</h2>
+
+<p>See <a href="../doc/changelog.html">changelog(1)</a></p>
+
+<h2 id="AUTHOR">AUTHOR</h2>
+
+<p><a href="http://blog.izs.me/">Isaac Z. Schlueter</a> ::
+<a href="https://github.com/isaacs/">isaacs</a> ::
+<a href="http://twitter.com/izs">@izs</a> ::
+<a href="mailto:i@izs.me">i@izs.me</a></p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/help.html">help(1)</a></li><li><a href="../doc/faq.html">faq(1)</a></li><li><a href="../doc/README.html">README</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/index.html">index(1)</a></li><li><a href="../api/npm.html">npm(3)</a></li></ul>
+</div>
+<p id="footer">npm &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/outdated.html b/deps/npm/html/doc/outdated.html
new file mode 100644
index 0000000000..18a1b40449
--- /dev/null
+++ b/deps/npm/html/doc/outdated.html
@@ -0,0 +1,56 @@
+<!doctype html>
+<html>
+ <title>outdated</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/outdated.html">outdated</a></h1> <p>Check for outdated packages</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm outdated [&lt;name&gt; [&lt;name&gt; ...]]</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command will check the registry to see if any (or, specific) installed
+packages are currently outdated.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/update.html">update(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li></ul>
+</div>
+<p id="footer">outdated &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/owner.html b/deps/npm/html/doc/owner.html
new file mode 100644
index 0000000000..3ddea2bd1c
--- /dev/null
+++ b/deps/npm/html/doc/owner.html
@@ -0,0 +1,69 @@
+<!doctype html>
+<html>
+ <title>owner</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/owner.html">owner</a></h1> <p>Manage package owners</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm owner ls &lt;package name&gt;
+npm owner add &lt;user&gt; &lt;package name&gt;
+npm owner rm &lt;user&gt; &lt;package name&gt;</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Manage ownership of published packages.</p>
+
+<ul><li>ls:
+List all the users who have access to modify a package and push new versions.
+Handy when you need to know who to bug for help.</li><li>add:
+Add a new user as a maintainer of a package. This user is enabled to modify
+metadata, publish new versions, and add other owners.</li><li>rm:
+Remove a user from the package owner list. This immediately revokes their
+privileges.</li></ul>
+
+<p>Note that there is only one level of access. Either you can modify a package,
+or you can't. Future versions may contain more fine-grained access levels, but
+that is not implemented at this time.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<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></ul>
+</div>
+<p id="footer">owner &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/pack.html b/deps/npm/html/doc/pack.html
new file mode 100644
index 0000000000..e5f835e517
--- /dev/null
+++ b/deps/npm/html/doc/pack.html
@@ -0,0 +1,64 @@
+<!doctype html>
+<html>
+ <title>pack</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/pack.html">pack</a></h1> <p>Create a tarball from a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm pack [&lt;pkg&gt; [&lt;pkg&gt; ...]]</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>For anything that's installable (that is, a package folder, tarball,
+tarball url, name@tag, name@version, or name), this command will fetch
+it to the cache, and then copy the tarball to the current working
+directory as <code>&lt;name&gt;-&lt;version&gt;.tgz</code>, and then write the filenames out to
+stdout.</p>
+
+<p>If the same package is specified multiple times, then the file will be
+overwritten the second time.</p>
+
+<p>If no arguments are supplied, then npm packs the current package folder.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/cache.html">cache(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
+</div>
+<p id="footer">pack &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/prefix.html b/deps/npm/html/doc/prefix.html
new file mode 100644
index 0000000000..02cd341db0
--- /dev/null
+++ b/deps/npm/html/doc/prefix.html
@@ -0,0 +1,55 @@
+<!doctype html>
+<html>
+ <title>prefix</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/prefix.html">prefix</a></h1> <p>Display prefix</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm prefix</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Print the prefix to standard out.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/root.html">root(1)</a></li><li><a href="../doc/bin.html">bin(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
+</div>
+<p id="footer">prefix &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/prune.html b/deps/npm/html/doc/prune.html
new file mode 100644
index 0000000000..16fd341a8c
--- /dev/null
+++ b/deps/npm/html/doc/prune.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<html>
+ <title>prune</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/prune.html">prune</a></h1> <p>Remove extraneous packages</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm prune [&lt;name&gt; [&lt;name ...]]</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command removes "extraneous" packages. If a package name is
+provided, then only packages matching one of the supplied names are
+removed.</p>
+
+<p>Extraneous packages are packages that are not listed on the parent
+package's dependencies list.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/rm.html">rm(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/list.html">list(1)</a></li></ul>
+</div>
+<p id="footer">prune &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/publish.html b/deps/npm/html/doc/publish.html
new file mode 100644
index 0000000000..47a206aa73
--- /dev/null
+++ b/deps/npm/html/doc/publish.html
@@ -0,0 +1,64 @@
+<!doctype html>
+<html>
+ <title>publish</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/publish.html">publish</a></h1> <p>Publish a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm publish &lt;tarball&gt;
+npm publish &lt;folder&gt;</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Publishes a package to the registry so that it can be installed by name.</p>
+
+<ul><li><p><code>&lt;folder&gt;</code>:
+A folder containing a package.json file</p></li><li><p><code>&lt;tarball&gt;</code>:
+A url or file path to a gzipped tar archive containing a single folder
+with a package.json file inside.</p></li></ul>
+
+<p>Fails if the package name and version combination already exists in
+the registry. Overwrites when the "--force" flag is set.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../doc/owner.html">owner(1)</a></li><li><a href="../doc/deprecate.html">deprecate(1)</a></li><li><a href="../doc/tag.html">tag(1)</a></li></ul>
+</div>
+<p id="footer">publish &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/rebuild.html b/deps/npm/html/doc/rebuild.html
new file mode 100644
index 0000000000..fefccdbeac
--- /dev/null
+++ b/deps/npm/html/doc/rebuild.html
@@ -0,0 +1,60 @@
+<!doctype html>
+<html>
+ <title>rebuild</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/rebuild.html">rebuild</a></h1> <p>Rebuild a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm rebuild [&lt;name&gt; [&lt;name&gt; ...]]</code></pre>
+
+<ul><li><code>&lt;name&gt;</code>:
+The package to rebuild</li></ul>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command runs the <code>npm build</code> command on the matched folders. This is useful
+when you install a new version of node, and must recompile all your C++ addons with
+the new binary.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/build.html">build(1)</a></li><li><a href="../doc/install.html">install(1)</a></li></ul>
+</div>
+<p id="footer">rebuild &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/registry.html b/deps/npm/html/doc/registry.html
new file mode 100644
index 0000000000..f30869349a
--- /dev/null
+++ b/deps/npm/html/doc/registry.html
@@ -0,0 +1,132 @@
+<!doctype html>
+<html>
+ <title>registry</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/registry.html">registry</a></h1> <p>The JavaScript Package Registry</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>To resolve packages by name and version, npm talks to a registry website
+that implements the CommonJS Package Registry specification for reading
+package info.</p>
+
+<p>Additionally, npm's package registry implementation supports several
+write APIs as well, to allow for publishing packages and managing user
+account information.</p>
+
+<p>The official public npm registry is at <a href="http://registry.npmjs.org/">http://registry.npmjs.org/</a>. It
+is powered by a CouchDB database at
+<a href="http://isaacs.couchone.com/registry">http://isaacs.couchone.com/registry</a>. The code for the couchapp is
+available at <a href="http://github.com/isaacs/npmjs.org">http://github.com/isaacs/npmjs.org</a>. npm user accounts
+are CouchDB users, stored in the <a href="http://isaacs.couchone.com/_users">http://isaacs.couchone.com/_users</a>
+database.</p>
+
+<p>The registry URL is supplied by the <code>registry</code> config parameter. See
+<code><a href="../doc/config.html">config(1)</a></code> for more on managing npm's configuration.</p>
+
+<h2 id="Can-I-run-my-own-private-registry">Can I run my own private registry?</h2>
+
+<p>Yes!</p>
+
+<p>The easiest way is to replicate the couch database, and use the same (or
+similar) design doc to implement the APIs.</p>
+
+<p>If you set up continuous replication from the official CouchDB, and then
+set your internal CouchDB as the registry config, then you'll be able
+to read any published packages, in addition to your private ones, and by
+default will only publish internally. If you then want to publish a
+package for the whole world to see, you can simply override the
+<code>--registry</code> config for that command.</p>
+
+<h2 id="I-don-t-want-my-package-published-in-the-official-registry-It-s-private">I don't want my package published in the official registry. It's private.</h2>
+
+<p>Set <code>"private": true</code> in your package.json to prevent it from being
+published at all, or
+<code>"publishConfig":{"registry":"http://my-internal-registry.local"}</code>
+to force it to be published only to your internal registry.</p>
+
+<p>See <code><a href="../doc/json.html">json(1)</a></code> for more info on what goes in the package.json file.</p>
+
+<h2 id="Will-you-replicate-from-my-registry-into-the-public-one">Will you replicate from my registry into the public one?</h2>
+
+<p>No. If you want things to be public, then publish them into the public
+registry using npm. What little security there is would be for nought
+otherwise.</p>
+
+<h2 id="Do-I-have-to-use-couchdb-to-build-a-registry-that-npm-can-talk-to">Do I have to use couchdb to build a registry that npm can talk to?</h2>
+
+<p>No, but it's way easier.</p>
+
+<h2 id="I-published-something-elsewhere-and-want-to-tell-the-npm-registry-about-it">I published something elsewhere, and want to tell the npm registry about it.</h2>
+
+<p>That is supported, but not using the npm client. You'll have to get
+your hands dirty and do some HTTP. The request looks something like
+this:</p>
+
+<pre><code>PUT /my-foreign-package
+content-type:application/json
+accept:application/json
+authorization:Basic $base_64_encoded
+
+{ "name":"my-foreign-package"
+, "maintainers":["owner","usernames"]
+, "description":"A package that is hosted elsewhere"
+, "keywords":["nih","my cheese smells the best"]
+, "url":"http://my-different-registry.com/blerg/my-local-package"
+}</code></pre>
+
+<p>(Keywords and description are optional, but recommended. Name,
+maintainers, and url are required.)</p>
+
+<p>Then, when a user tries to install "my-foreign-package", it'll redirect
+to your registry. If that doesn't resolve to a valid package entry,
+then it'll fail, so please make sure that you understand the spec, and
+ask for help on the <a href="mailto:npm-@googlegroups.com">npm-@googlegroups.com</a> mailing list.</p>
+
+<h2 id="Is-there-a-website-or-something-to-see-package-docs-and-such">Is there a website or something to see package docs and such?</h2>
+
+<p>No, but such a thing is planned, and a tiny bit developed.</p>
+
+<p>Stay tuned!</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/developers.html">developers(1)</a></li></ul>
+</div>
+<p id="footer">registry &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/removing-npm.html b/deps/npm/html/doc/removing-npm.html
new file mode 100644
index 0000000000..9970611f65
--- /dev/null
+++ b/deps/npm/html/doc/removing-npm.html
@@ -0,0 +1,93 @@
+<!doctype html>
+<html>
+ <title>removing-npm</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/removal.html">removal</a></h1> <p>Cleaning the Slate</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p>So sad to see you go.</p>
+
+<pre><code>sudo npm uninstall npm -g</code></pre>
+
+<p>Or, if that fails, get the npm source code, and do:</p>
+
+<pre><code>sudo make uninstall</code></pre>
+
+<h2 id="More-Severe-Uninstalling">More Severe Uninstalling</h2>
+
+<p>Usually, the above instructions are sufficient. That will remove
+npm, but leave behind anything you've installed.</p>
+
+<p>If that doesn't work, or if you require more drastic measures,
+continue reading.</p>
+
+<p>Note that this is only necessary for globally-installed packages. Local
+installs are completely contained within a project's <code>node_modules</code>
+folder. Delete that folder, and everything is gone (unless a package's
+install script is particularly ill-behaved).</p>
+
+<p>This assumes that you installed node and npm in the default place. If
+you configured node with a different <code>--prefix</code>, or installed npm with a
+different prefix setting, then adjust the paths accordingly, replacing
+<code>/usr/local</code> with your install prefix.</p>
+
+<p>To remove everything npm-related manually:</p>
+
+<pre><code>rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/npm*</code></pre>
+
+<p>If you installed things <em>with</em> npm, then your best bet is to uninstall
+them with npm first, and then install them again once you have a
+proper install. This can help find any symlinks that are lying
+around:</p>
+
+<pre><code>ls -laF /usr/local/{lib/node{,/.npm},bin,share/man} | grep npm</code></pre>
+
+<p>Prior to version 0.3, npm used shim files for executables and node
+modules. To track those down, you can do the following:</p>
+
+<pre><code>find /usr/local/{lib/node,bin} -exec grep -l npm \{\} \; ;</code></pre>
+
+<p>(This is also in the <a href="../doc/README.html">README</a> file.)</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/README.html">README</a></li><li><a href="../doc/rm.html">rm(1)</a></li><li><a href="../doc/prune.html">prune(1)</a></li></ul>
+</div>
+<p id="footer">removing-npm &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/restart.html b/deps/npm/html/doc/restart.html
new file mode 100644
index 0000000000..b2aa9174b1
--- /dev/null
+++ b/deps/npm/html/doc/restart.html
@@ -0,0 +1,59 @@
+<!doctype html>
+<html>
+ <title>restart</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/restart.html">restart</a></h1> <p>Start a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm restart &lt;name&gt;</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This runs a package's "restart" script, if one was provided.
+Otherwise it runs package's "stop" script, if one was provided, and then
+the "start" script.</p>
+
+<p>If no version is specified, then it restarts the "active" version.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/test.html">test(1)</a></li><li><a href="../doc/start.html">start(1)</a></li><li><a href="../doc/stop.html">stop(1)</a></li></ul>
+</div>
+<p id="footer">restart &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/rm.html b/deps/npm/html/doc/rm.html
new file mode 100644
index 0000000000..f7be311364
--- /dev/null
+++ b/deps/npm/html/doc/rm.html
@@ -0,0 +1,57 @@
+<!doctype html>
+<html>
+ <title>rm</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/rm.html">rm</a></h1> <p>Remove a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm rm &lt;name&gt;
+npm uninstall &lt;name&gt;</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This uninstalls a package, completely removing everything npm installed
+on its behalf.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<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.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/root.html b/deps/npm/html/doc/root.html
new file mode 100644
index 0000000000..5f5c43f780
--- /dev/null
+++ b/deps/npm/html/doc/root.html
@@ -0,0 +1,55 @@
+<!doctype html>
+<html>
+ <title>root</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/root.html">root</a></h1> <p>Display npm root</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm root</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Print the effective <code>node_modules</code> folder to standard out.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/prefix.html">prefix(1)</a></li><li><a href="../doc/bin.html">bin(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
+</div>
+<p id="footer">root &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/run-script.html b/deps/npm/html/doc/run-script.html
new file mode 100644
index 0000000000..7d5e938da2
--- /dev/null
+++ b/deps/npm/html/doc/run-script.html
@@ -0,0 +1,58 @@
+<!doctype html>
+<html>
+ <title>run-script</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/run-script.html">run-script</a></h1> <p>Run arbitrary package scripts</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm run-script &lt;script&gt; &lt;name&gt;</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This runs an arbitrary command from a package's "scripts" object.</p>
+
+<p>It is used by the test, start, restart, and stop commands, but can be
+called directly, as well.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/test.html">test(1)</a></li><li><a href="../doc/start.html">start(1)</a></li><li><a href="../doc/restart.html">restart(1)</a></li><li><a href="../doc/stop.html">stop(1)</a></li></ul>
+</div>
+<p id="footer">run-script &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/scripts.html b/deps/npm/html/doc/scripts.html
new file mode 100644
index 0000000000..18235cadff
--- /dev/null
+++ b/deps/npm/html/doc/scripts.html
@@ -0,0 +1,199 @@
+<!doctype html>
+<html>
+ <title>scripts</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/scripts.html">scripts</a></h1> <p>How npm handles the "scripts" field</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>npm supports the "scripts" member of the package.json script, for the
+following scripts:</p>
+
+<ul><li>preinstall:
+Run BEFORE the package is installed</li><li>install, postinstall:
+Run AFTER the package is installed.</li><li>preuninstall, uninstall:
+Run BEFORE the package is uninstalled.</li><li>postuninstall:
+Run AFTER the package is uninstalled.</li><li>preupdate:
+Run BEFORE the package is updated with the update command.</li><li>update, postupdate:
+Run AFTER the package is updated with the update command.</li><li>prepublish:
+Run BEFORE the package is published.</li><li>publish, postpublish:
+Run AFTER the package is published.</li><li>pretest, test, posttest:
+Run by the <code>npm test</code> command.</li><li>prestop, stop, poststop:
+Run by the <code>npm stop</code> command.</li><li>prestart, start, poststart:
+Run by the <code>npm start</code> command.</li><li>prerestart, restart, postrestart:
+Run by the <code>npm restart</code> command. Note: <code>npm restart</code> will run the
+stop and start scripts if no <code>restart</code> script is provided.</li></ul>
+
+<p>Additionally, arbitrary scrips can be run by doing
+<code>npm run-script &lt;stage&gt; &lt;pkg&gt;</code>.</p>
+
+<h2 id="DEFAULT-VALUES">DEFAULT VALUES</h2>
+
+<p>npm will default some script values based on package contents.</p>
+
+<ul><li><p><code>"start": "node server.js"</code>:</p><p>If there is a <code>server.js</code> file in the root of your package, then npm
+will default the <code>start</code> command to <code>node server.js</code>.</p></li><li><p><code>"preinstall": "node-waf clean || true; node-waf configure build"</code>:</p><p>If there is a <code>wscript</code> file in the root of your package, npm will
+default the <code>preinstall</code> command to compile using node-waf.</p></li></ul>
+
+<h2 id="USER">USER</h2>
+
+<p>If npm was invoked with root privileges, then it will change the uid to
+the user account or uid specified by the <code>user</code> config, which defaults
+to <code>nobody</code>. Set the <code>unsafe-perm</code> flag to run scripts with root
+privileges.</p>
+
+<h2 id="ENVIRONMENT">ENVIRONMENT</h2>
+
+<p>Package scripts run in an environment where many pieces of information are
+made available regarding the setup of npm and the current state of the
+process.</p>
+
+<h3 id="package-json-vars">package.json vars</h3>
+
+<p>The package.json fields are tacked onto the <code>npm_package_</code> prefix. So, for
+instance, if you had <code>{"name":"foo", "version":"1.2.5"}</code> in your package.json
+file, then your package scripts would have the <code>npm_package_name</code> environment
+variable set to "foo", and the <code>npm_package_version</code> set to "1.2.5"</p>
+
+<h3 id="configuration">configuration</h3>
+
+<p>Configuration parameters are put in the environment with the <code>npm_config_</code>
+prefix. For instance, you can view the effective <code>root</code> config by checking the
+<code>npm_config_root</code> environment variable.</p>
+
+<h3 id="Special-package-json-config-hash">Special: package.json "config" hash</h3>
+
+<p>The package.json "config" keys are overwritten in the environment if
+there is a config param of <code>&lt;name&gt;[@&lt;version&gt;]:&lt;key&gt;</code>. For example, if
+the package.json has this:</p>
+
+<pre><code>{ "name" : "foo"
+, "config" : { "port" : "8080" }
+, "scripts" : { "start" : "node server.js" } }</code></pre>
+
+<p>and the server.js is this:</p>
+
+<pre><code>http.createServer(...).listen(process.env.npm_package_config_port)</code></pre>
+
+<p>then the user could change the behavior by doing:</p>
+
+<pre><code>npm config set foo:port 80</code></pre>
+
+<h3 id="current-lifecycle-event">current lifecycle event</h3>
+
+<p>Lastly, the <code>npm_lifecycle_event</code> environment variable is set to whichever
+stage of the cycle is being executed. So, you could have a single script used
+for different parts of the process which switches based on what's currently
+happening.</p>
+
+<p>Objects are flattened following this format, so if you had
+<code>{"scripts":{"install":"foo.js"}}</code> in your package.json, then you'd see this
+in the script:</p>
+
+<pre><code>process.env.npm_package_scripts_install === "foo.js"</code></pre>
+
+<h2 id="EXAMPLES">EXAMPLES</h2>
+
+<p>For example, if your package.json contains this:</p>
+
+<pre><code>{ "scripts" :
+ { "install" : "scripts/install.js"
+ , "postinstall" : "scripts/install.js"
+ , "uninstall" : "scripts/uninstall.js"
+ }
+}</code></pre>
+
+<p>then the <code>scripts/install.js</code> will be called for the install, post-install,
+stages of the lifecycle, and the <code>scripts/uninstall.js</code> would be
+called when the package is uninstalled. Since <code>scripts/install.js</code> is running
+for three different phases, it would be wise in this case to look at the
+<code>npm_lifecycle_event</code> environment variable.</p>
+
+<p>If you want to run a make command, you can do so. This works just fine:</p>
+
+<pre><code>{ "scripts" :
+ { "preinstall" : "./configure"
+ , "install" : "make &amp;&amp; make install"
+ , "test" : "make test"
+ }
+}</code></pre>
+
+<h2 id="EXITING">EXITING</h2>
+
+<p>Scripts are run by passing the line as a script argument to <code>sh</code>.</p>
+
+<p>If the script exits with a code other than 0, then this will abort the
+process.</p>
+
+<p>Note that these script files don't have to be nodejs or even javascript
+programs. They just have to be some kind of executable file.</p>
+
+<h2 id="HOOK-SCRIPTS">HOOK SCRIPTS</h2>
+
+<p>If you want to run a specific script at a specific lifecycle event for ALL
+packages, then you can use a hook script.</p>
+
+<p>Place an executable file at <code>node_modules/.hooks/{eventname}</code>, and it'll get
+run for all packages when they are going through that point in the package
+lifecycle for any packages installed in that root.</p>
+
+<p>Hook scripts are run exactly the same way as package.json scripts. That is,
+they are in a separate child process, with the env described above.</p>
+
+<h2 id="BEST-PRACTICES">BEST PRACTICES</h2>
+
+<ul><li>Don't exit with a non-zero error code unless you <em>really</em> mean it.
+Except for uninstall scripts, this will cause the npm action
+to fail, and potentially be rolled back. If the failure is minor or
+only will prevent some optional features, then it's better to just
+print a warning and exit successfully.</li><li>Try not to use scripts to do what npm can do for you. Read through
+<code><a href="../doc/json.html">json(1)</a></code> to see all the things that you can specify and enable
+by simply describing your package appropriately. In general, this will
+lead to a more robust and consistent state.</li><li>Inspect the env to determine where to put things. For instance, if
+the <code>npm_config_binroot</code> environ is set to <code>/home/user/bin</code>, then don't
+try to install executables into <code>/usr/local/bin</code>. The user probably
+set it up that way for a reason.</li><li>Don't prefix your script commands with "sudo". If root permissions are
+required for some reason, then it'll fail with that error, and the user
+will sudo the npm command in question.</li></ul>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/developers.html">developers(1)</a></li><li><a href="../doc/install.html">install(1)</a></li></ul>
+</div>
+<p id="footer">scripts &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/search.html b/deps/npm/html/doc/search.html
new file mode 100644
index 0000000000..50f198839a
--- /dev/null
+++ b/deps/npm/html/doc/search.html
@@ -0,0 +1,75 @@
+<!doctype html>
+<html>
+ <title>search</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/search.html">search</a></h1> <p>Search for packages</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm search [search terms ...]</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Search the registry for packages matching the search terms.</p>
+
+<h2 id="CONFIGURATION">CONFIGURATION</h2>
+
+<h3 id="description">description</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>Show the description in <code>npm search</code></p>
+
+<h3 id="searchopts">searchopts</h3>
+
+<ul><li>Default: ""</li><li>Type: String</li></ul>
+
+<p>Space-separated options that are always passed to search.</p>
+
+<h3 id="searchexclude">searchexclude</h3>
+
+<ul><li>Default: ""</li><li>Type: String</li></ul>
+
+<p>Space-separated options that limit the results from search.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/view.html">view(1)</a></li></ul>
+</div>
+<p id="footer">search &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/semver.html b/deps/npm/html/doc/semver.html
new file mode 100644
index 0000000000..cd376f511a
--- /dev/null
+++ b/deps/npm/html/doc/semver.html
@@ -0,0 +1,139 @@
+<!doctype html>
+<html>
+ <title>semver</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/semver.html">semver</a></h1> <p>The semantic versioner for npm</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<p>The npm semantic versioning utility.</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>As a node module:</p>
+
+<pre><code>$ npm install semver
+
+semver.valid('1.2.3') // true
+semver.valid('a.b.c') // false
+semver.clean(' =v1.2.3 ') // '1.2.3'
+semver.satisfies('1.2.3', '1.x || &gt;=2.5.0 || 5.0.0 - 7.2.3') // true
+semver.gt('1.2.3', '9.8.7') // false
+semver.lt('1.2.3', '9.8.7') // true</code></pre>
+
+<p>As a command-line utility:</p>
+
+<pre><code>$ npm install semver -g
+$ semver -h
+
+Usage: semver -v &lt;version&gt; [-r &lt;range&gt;]
+Test if version(s) satisfy the supplied range(s),
+and sort them.
+
+Multiple versions or ranges may be supplied.
+
+Program exits successfully if any valid version satisfies
+all supplied ranges, and prints all satisfying versions.
+
+If no versions are valid, or ranges are not satisfied,
+then exits failure.
+
+Versions are printed in ascending order, so supplying
+multiple versions to the utility will just sort them.</code></pre>
+
+<h2 id="Versions">Versions</h2>
+
+<p>A version is the following things, in this order:</p>
+
+<ul><li>a number (Major)</li><li>a period</li><li>a number (minor)</li><li>a period</li><li>a number (patch)</li><li>OPTIONAL: a hyphen, followed by a number (build)</li><li>OPTIONAL: a collection of pretty much any non-whitespace characters
+(tag)</li></ul>
+
+<p>A leading <code>"="</code> or <code>"v"</code> character is stripped off and ignored.</p>
+
+<h2 id="Comparisons">Comparisons</h2>
+
+<p>The ordering of versions is done using the following algorithm, given
+two versions and asked to find the greater of the two:</p>
+
+<ul><li>If the majors are numerically different, then take the one
+with a bigger major number. <code>2.3.4 &gt; 1.3.4</code></li><li>If the minors are numerically different, then take the one
+with the bigger minor number. <code>2.3.4 &gt; 2.2.4</code></li><li>If the patches are numerically different, then take the one with the
+bigger patch number. <code>2.3.4 &gt; 2.3.3</code></li><li>If only one of them has a build number, then take the one with the
+build number. <code>2.3.4-0 &gt; 2.3.4</code></li><li>If they both have build numbers, and the build numbers are numerically
+different, then take the one with the bigger build number.
+<code>2.3.4-10 &gt; 2.3.4-9</code></li><li>If only one of them has a tag, then take the one without the tag.
+<code>2.3.4 &gt; 2.3.4-beta</code></li><li>If they both have tags, then take the one with the lexicographically
+larger tag. <code>2.3.4-beta &gt; 2.3.4-alpha</code></li><li>At this point, they're equal.</li></ul>
+
+<h2 id="Ranges">Ranges</h2>
+
+<p>The following range styles are supported:</p>
+
+<ul><li><code>&gt;1.2.3</code> Greater than a specific version.</li><li><code>&lt;1.2.3</code> Less than</li><li><code>1.2.3 - 2.3.4</code> := <code>&gt;=1.2.3 &lt;=2.3.4</code></li><li><code>~1.2.3</code> := <code>&gt;=1.2.3 &lt;1.3.0</code></li><li><code>~1.2</code> := <code>&gt;=1.2.0 &lt;2.0.0</code></li><li><code>~1</code> := <code>&gt;=1.0.0 &lt;2.0.0</code></li><li><code>1.2.x</code> := <code>&gt;=1.2.0 &lt;1.3.0</code></li><li><code>1.x</code> := <code>&gt;=1.0.0 &lt;2.0.0</code></li></ul>
+
+<p>Ranges can be joined with either a space (which implies "and") or a
+<code>||</code> (which implies "or").</p>
+
+<h2 id="Functions">Functions</h2>
+
+<ul><li>valid(v): Return the parsed version, or null if it's not valid.</li><li>inc(v, release): Return the version incremented by the release type
+(major, minor, patch, or build), or null if it's not valid.</li></ul>
+
+<h3 id="Comparison">Comparison</h3>
+
+<ul><li>gt(v1, v2): <code>v1 &gt; v2</code></li><li>gte(v1, v2): <code>v1 &gt;= v2</code></li><li>lt(v1, v2): <code>v1 &lt; v2</code></li><li>lte(v1, v2): <code>v1 &lt;= v2</code></li><li>eq(v1, v2): <code>v1 == v2</code> This is true if they're logically equivalent,
+even if they're not the exact same string. You already know how to
+compare strings.</li><li>neq(v1, v2): <code>v1 != v2</code> The opposite of eq.</li><li>cmp(v1, comparator, v2): Pass in a comparison string, and it'll call
+the corresponding function above. <code>"==="</code> and <code>"!=="</code> do simple
+string comparison, but are included for completeness. Throws if an
+invalid comparison string is provided.</li><li>compare(v1, v2): Return 0 if v1 == v2, or 1 if v1 is greater, or -1 if
+v2 is greater. Sorts in ascending order if passed to Array.sort().</li><li>rcompare(v1, v2): The reverse of compare. Sorts an array of versions
+in descending order when passed to Array.sort().</li></ul>
+
+<h3 id="Ranges">Ranges</h3>
+
+<ul><li>validRange(range): Return the valid range or null if it's not valid</li><li>satisfies(version, range): Return true if the version satisfies the
+range.</li><li>maxSatisfying(versions, range): Return the highest version in the list
+that satisfies the range, or null if none of them do.</li></ul>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/json.html">json(1)</a></li></ul>
+</div>
+<p id="footer">semver &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/set.html b/deps/npm/html/doc/set.html
new file mode 100644
index 0000000000..79234f0ad9
--- /dev/null
+++ b/deps/npm/html/doc/set.html
@@ -0,0 +1,621 @@
+<!doctype html>
+<html>
+ <title>set</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/config.html">config</a></h1> <p>Manage the npm configuration file</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm config set &lt;key&gt; &lt;value&gt; [--global]
+npm config get &lt;key&gt;
+npm config delete &lt;key&gt;
+npm config list
+npm config edit
+npm get &lt;key&gt;
+npm set &lt;key&gt; &lt;value&gt; [--global]</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>npm gets its configuration values from 6 sources, in this priority:</p>
+
+<h3 id="Command-Line-Flags">Command Line Flags</h3>
+
+<p>Putting <code>--foo bar</code> on the command line sets the
+<code>foo</code> configuration parameter to <code>"bar"</code>. A <code>--</code> argument tells the cli
+parser to stop reading flags. A <code>--flag</code> parameter that is at the <em>end</em> of
+the command will be given the value of <code>true</code>.</p>
+
+<h3 id="Environment-Variables">Environment Variables</h3>
+
+<p>Any environment variables that start with <code>npm_config_</code> will be interpreted
+as a configuration parameter. For example, putting <code>npm_config_foo=bar</code> in
+your environment will set the <code>foo</code> configuration parameter to <code>bar</code>. Any
+environment configurations that are not given a value will be given the value
+of <code>true</code>. Config values are case-insensitive, so <code>NPM_CONFIG_FOO=bar</code> will
+work the same.</p>
+
+<h3 id="Per-user-config-file">Per-user config file</h3>
+
+<p><code>$HOME/.npmrc</code> (or the <code>userconfig</code> param, if set above)</p>
+
+<p>This file is an ini-file formatted list of <code>key = value</code> parameters.</p>
+
+<h3 id="Global-config-file">Global config file</h3>
+
+<p><code>$PREFIX/etc/npmrc</code> (or the <code>globalconfig</code> param, if set above):
+This file is an ini-file formatted list of <code>key = value</code> parameters</p>
+
+<h3 id="Built-in-config-file">Built-in config file</h3>
+
+<p><code>path/to/npm/itself/npmrc</code></p>
+
+<p>This is an unchangeable "builtin"
+configuration file that npm keeps consistent across updates. Set
+fields in here using the <code>./configure</code> script that comes with npm.
+This is primarily for distribution maintainers to override default
+configs in a standard and consistent manner.</p>
+
+<h3 id="Default-Configs">Default Configs</h3>
+
+<p>A set of configuration parameters that are internal to npm, and are
+defaults if nothing else is specified.</p>
+
+<h2 id="Sub-commands">Sub-commands</h2>
+
+<p>Config supports the following sub-commands:</p>
+
+<h3 id="set">set</h3>
+
+<pre><code>npm config set key value</code></pre>
+
+<p>Sets the config key to the value.</p>
+
+<p>If value is omitted, then it sets it to "true".</p>
+
+<h3 id="get">get</h3>
+
+<pre><code>npm config get key</code></pre>
+
+<p>Echo the config value to stdout.</p>
+
+<h3 id="list">list</h3>
+
+<pre><code>npm config list</code></pre>
+
+<p>Show all the config settings.</p>
+
+<h3 id="delete">delete</h3>
+
+<pre><code>npm config delete key</code></pre>
+
+<p>Deletes the key from all configuration files.</p>
+
+<h3 id="edit">edit</h3>
+
+<pre><code>npm config edit</code></pre>
+
+<p>Opens the config file in an editor. Use the <code>--global</code> flag to edit the
+global config.</p>
+
+<h2 id="Shorthands-and-Other-CLI-Niceties">Shorthands and Other CLI Niceties</h2>
+
+<p>The following shorthands are parsed on the command-line:</p>
+
+<ul><li><code>-v</code>: <code>--version</code></li><li><code>-h</code>, <code>-?</code>, <code>--help</code>, <code>-H</code>: <code>--usage</code></li><li><code>-s</code>, <code>--silent</code>: <code>--loglevel silent</code></li><li><code>-d</code>: <code>--loglevel info</code></li><li><code>-dd</code>, <code>--verbose</code>: <code>--loglevel verbose</code></li><li><code>-ddd</code>: <code>--loglevel silly</code></li><li><code>-g</code>: <code>--global</code></li><li><code>-l</code>: <code>--long</code></li><li><code>-m</code>: <code>--message</code></li><li><code>-p</code>, <code>--porcelain</code>: <code>--parseable</code></li><li><code>-reg</code>: <code>--registry</code></li><li><code>-v</code>: <code>--version</code></li><li><code>-f</code>: <code>--force</code></li><li><code>-l</code>: <code>--long</code></li><li><code>-desc</code>: <code>--description</code></li><li><code>-S</code>: <code>--save</code></li><li><code>-y</code>: <code>--yes</code></li><li><code>-n</code>: <code>--yes false</code></li><li><code>ll</code> and <code>la</code> commands: <code>ls --long</code></li></ul>
+
+<p>If the specified configuration param resolves unambiguously to a known
+configuration parameter, then it is expanded to that configuration
+parameter. For example:</p>
+
+<pre><code>npm ls --par
+# same as:
+npm ls --parseable</code></pre>
+
+<p>If multiple single-character shorthands are strung together, and the
+resulting combination is unambiguously not some other configuration
+param, then it is expanded to its various component pieces. For
+example:</p>
+
+<pre><code>npm ls -gpld
+# same as:
+npm ls --global --parseable --long --loglevel info</code></pre>
+
+<h2 id="Per-Package-Config-Settings">Per-Package Config Settings</h2>
+
+<p>When running scripts (see <code><a href="../doc/scripts.html">scripts(1)</a></code>)
+the package.json "config" keys are overwritten in the environment if
+there is a config param of <code>&lt;name&gt;[@&lt;version&gt;]:&lt;key&gt;</code>. For example, if
+the package.json has this:</p>
+
+<pre><code>{ "name" : "foo"
+, "config" : { "port" : "8080" }
+, "scripts" : { "start" : "node server.js" } }</code></pre>
+
+<p>and the server.js is this:</p>
+
+<pre><code>http.createServer(...).listen(process.env.npm_package_config_port)</code></pre>
+
+<p>then the user could change the behavior by doing:</p>
+
+<pre><code>npm config set foo:port 80</code></pre>
+
+<h2 id="Config-Settings">Config Settings</h2>
+
+<h3 id="always-auth">always-auth</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Force npm to always require authentication when accessing the registry,
+even for <code>GET</code> requests.</p>
+
+<h3 id="bin-publish">bin-publish</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>If set to true, then binary packages will be created on publish.</p>
+
+<p>This is the way to opt into the "bindist" behavior described below.</p>
+
+<h3 id="bindist">bindist</h3>
+
+<ul><li>Default: Unstable node versions, <code>null</code>, otherwise
+<code>"&lt;node version&gt;-&lt;platform&gt;-&lt;os release&gt;"</code></li><li>Type: String or <code>null</code></li></ul>
+
+<p>Experimental: on stable versions of node, binary distributions will be
+created with this tag. If a user then installs that package, and their
+<code>bindist</code> tag is found in the list of binary distributions, they will
+get that prebuilt version.</p>
+
+<p>Pre-build node packages have their preinstall, install, and postinstall
+scripts stripped (since they are run prior to publishing), and do not
+have their <code>build</code> directories automatically ignored.</p>
+
+<p>It's yet to be seen if this is a good idea.</p>
+
+<h3 id="browser">browser</h3>
+
+<ul><li>Default: OS X: <code>"open"</code>, others: <code>"google-chrome"</code></li><li>Type: String</li></ul>
+
+<p>The browser that is called by the <code>npm docs</code> command to open websites.</p>
+
+<h3 id="ca">ca</h3>
+
+<ul><li>Default: The npm CA certificate</li><li>Type: String or null</li></ul>
+
+<p>The Certificate Authority signing certificate that is trusted for SSL
+connections to the registry.</p>
+
+<p>Set to <code>null</code> to only allow "known" registrars, or to a specific CA cert
+to trust only that specific signing authority.</p>
+
+<p>See also the <code>strict-ssl</code> config.</p>
+
+<h3 id="cache">cache</h3>
+
+<ul><li>Default: Windows: <code>~/npm-cache</code>, Posix: <code>~/.npm</code></li><li>Type: path</li></ul>
+
+<p>The location of npm's cache directory. See <code><a href="../doc/cache.html">cache(1)</a></code></p>
+
+<h3 id="color">color</h3>
+
+<ul><li>Default: true on Posix, false on Windows</li><li>Type: Boolean or <code>"always"</code></li></ul>
+
+<p>If false, never shows colors. If <code>"always"</code> then always shows colors.
+If true, then only prints color codes for tty file descriptors.</p>
+
+<h3 id="depth">depth</h3>
+
+<ul><li>Default: Infinity</li><li>Type: Number</li></ul>
+
+<p>The depth to go when recursing directories for <code>npm ls</code> and
+<code>npm cache ls</code>.</p>
+
+<h3 id="description">description</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>Show the description in <code>npm search</code></p>
+
+<h3 id="dev">dev</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Install <code>dev-dependencies</code> along with packages.</p>
+
+<p>Note that <code>dev-dependencies</code> are also installed if the <code>npat</code> flag is
+set.</p>
+
+<h3 id="editor">editor</h3>
+
+<ul><li>Default: <code>EDITOR</code> environment variable if set, or <code>"vi"</code> on Posix,
+or <code>"notepad"</code> on Windows.</li><li>Type: path</li></ul>
+
+<p>The command to run for <code>npm edit</code> or <code>npm config edit</code>.</p>
+
+<h3 id="force">force</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Makes various commands more forceful.</p>
+
+<ul><li>lifecycle script failure does not block progress.</li><li>publishing clobbers previously published versions.</li><li>skips cache when requesting from the registry.</li><li>prevents checks against clobbering non-npm files.</li></ul>
+
+<h3 id="global">global</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Operates in "global" mode, so that packages are installed into the
+<code>prefix</code> folder instead of the current working directory. See
+<code><a href="../doc/folders.html">folders(1)</a></code> for more on the differences in behavior.</p>
+
+<ul><li>packages are installed into the <code>prefix/node_modules</code> folder, instead of the
+current working directory.</li><li>bin files are linked to <code>prefix/bin</code></li><li>man pages are linked to <code>prefix/share/man</code></li></ul>
+
+<h3 id="globalconfig">globalconfig</h3>
+
+<ul><li>Default: {prefix}/etc/npmrc</li><li>Type: path</li></ul>
+
+<p>The config file to read for global config options.</p>
+
+<h3 id="globalignorefile">globalignorefile</h3>
+
+<ul><li>Default: {prefix}/etc/npmignore</li><li>Type: path</li></ul>
+
+<p>The config file to read for global ignore patterns to apply to all users
+and all projects.</p>
+
+<p>If not found, but there is a "gitignore" file in the
+same directory, then that will be used instead.</p>
+
+<h3 id="group">group</h3>
+
+<ul><li>Default: GID of the current process</li><li>Type: String or Number</li></ul>
+
+<p>The group to use when running package scripts in global mode as the root
+user.</p>
+
+<h3 id="https-proxy">https-proxy</h3>
+
+<ul><li>Default: the <code>HTTPS_PROXY</code> or <code>https_proxy</code> or <code>HTTP_PROXY</code> or
+<code>http_proxy</code> environment variables.</li><li>Type: url</li></ul>
+
+<p>A proxy to use for outgoing https requests.</p>
+
+<h3 id="ignore">ignore</h3>
+
+<ul><li>Default: ""</li><li>Type: string</li></ul>
+
+<p>A white-space separated list of glob patterns of files to always exclude
+from packages when building tarballs.</p>
+
+<h3 id="init-version">init.version</h3>
+
+<ul><li>Default: "0.0.0"</li><li>Type: semver</li></ul>
+
+<p>The value <code>npm init</code> should use by default for the package version.</p>
+
+<h3 id="init-author-name">init.author.name</h3>
+
+<ul><li>Default: "0.0.0"</li><li>Type: String</li></ul>
+
+<p>The value <code>npm init</code> should use by default for the package author's name.</p>
+
+<h3 id="init-author-email">init.author.email</h3>
+
+<ul><li>Default: ""</li><li>Type: String</li></ul>
+
+<p>The value <code>npm init</code> should use by default for the package author's email.</p>
+
+<h3 id="init-author-url">init.author.url</h3>
+
+<ul><li>Default: ""</li><li>Type: String</li></ul>
+
+<p>The value <code>npm init</code> should use by default for the package author's homepage.</p>
+
+<h3 id="link">link</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>If true, then local installs will link if there is a suitable globally
+installed package.</p>
+
+<p>Note that this means that local installs can cause things to be
+installed into the global space at the same time. The link is only done
+if one of the two conditions are met:</p>
+
+<ul><li>The package is not already installed globally, or</li><li>the globally installed version is identical to the version that is
+being installed locally.</li></ul>
+
+<h3 id="logfd">logfd</h3>
+
+<ul><li>Default: stderr file descriptor</li><li>Type: Number or Stream</li></ul>
+
+<p>The location to write log output.</p>
+
+<h3 id="loglevel">loglevel</h3>
+
+<ul><li>Default: "warn"</li><li>Type: String</li><li>Values: "silent", "win", "error", "warn", "info", "verbose", "silly"</li></ul>
+
+<p>What level of logs to report. On failure, <em>all</em> logs are written to
+<code>npm-debug.log</code> in the current working directory.</p>
+
+<h3 id="logprefix">logprefix</h3>
+
+<ul><li>Default: true on Posix, false on Windows</li><li>Type: Boolean</li></ul>
+
+<p>Whether or not to prefix log messages with "npm" and the log level. See
+also "color" and "loglevel".</p>
+
+<h3 id="long">long</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Show extended information in <code>npm ls</code></p>
+
+<h3 id="message">message</h3>
+
+<ul><li>Default: "%s"</li><li>Type: String</li></ul>
+
+<p>Commit message which is used by <code>npm version</code> when creating version commit.</p>
+
+<p>Any "%s" in the message will be replaced with the version number.</p>
+
+<h3 id="node-version">node-version</h3>
+
+<ul><li>Default: process.version</li><li>Type: semver or false</li></ul>
+
+<p>The node version to use when checking package's "engines" hash.</p>
+
+<h3 id="npat">npat</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Run tests on installation and report results to the
+<code>npaturl</code>.</p>
+
+<h3 id="npaturl">npaturl</h3>
+
+<ul><li>Default: Not yet implemented</li><li>Type: url</li></ul>
+
+<p>The url to report npat test results.</p>
+
+<h3 id="onload-script">onload-script</h3>
+
+<ul><li>Default: false</li><li>Type: path</li></ul>
+
+<p>A node module to <code>require()</code> when npm loads. Useful for programmatic
+usage.</p>
+
+<h3 id="outfd">outfd</h3>
+
+<ul><li>Default: standard output file descriptor</li><li>Type: Number or Stream</li></ul>
+
+<p>Where to write "normal" output. This has no effect on log output.</p>
+
+<h3 id="parseable">parseable</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Output parseable results from commands that write to
+standard output.</p>
+
+<h3 id="prefix">prefix</h3>
+
+<ul><li>Default: node's process.installPrefix</li><li>Type: path</li></ul>
+
+<p>The location to install global items. If set on the command line, then
+it forces non-global commands to run in the specified folder.</p>
+
+<h3 id="production">production</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Set to true to run in "production" mode.</p>
+
+<ol><li>devDependencies are not installed at the topmost level when running
+local <code>npm install</code> without any arguments.</li><li>Set the NODE_ENV="production" for lifecycle scripts.</li></ol>
+
+<h3 id="proxy">proxy</h3>
+
+<ul><li>Default: <code>HTTP_PROXY</code> or <code>http_proxy</code> environment variable, or null</li><li>Type: url</li></ul>
+
+<p>A proxy to use for outgoing http requests.</p>
+
+<h3 id="rebuild-bundle">rebuild-bundle</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>Rebuild bundled dependencies after installation.</p>
+
+<h3 id="registry">registry</h3>
+
+<ul><li>Default: https://registry.npmjs.org/</li><li>Type: url</li></ul>
+
+<p>The base URL of the npm package registry.</p>
+
+<h3 id="rollback">rollback</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>Remove failed installs.</p>
+
+<h3 id="save">save</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Save installed packages to a package.json file as dependencies.</p>
+
+<p>Only works if there is already a package.json file present.</p>
+
+<h3 id="searchopts">searchopts</h3>
+
+<ul><li>Default: ""</li><li>Type: String</li></ul>
+
+<p>Space-separated options that are always passed to search.</p>
+
+<h3 id="searchexclude">searchexclude</h3>
+
+<ul><li>Default: ""</li><li>Type: String</li></ul>
+
+<p>Space-separated options that limit the results from search.</p>
+
+<h3 id="shell">shell</h3>
+
+<ul><li>Default: SHELL environment variable, or "bash" on Posix, or "cmd" on
+Windows</li><li>Type: path</li></ul>
+
+<p>The shell to run for the <code>npm explore</code> command.</p>
+
+<h3 id="strict-ssl">strict-ssl</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>Whether or not to do SSL key validation when making requests to the
+registry via https.</p>
+
+<p>See also the <code>ca</code> config.</p>
+
+<h3 id="tag">tag</h3>
+
+<ul><li>Default: latest</li><li>Type: String</li></ul>
+
+<p>If you ask npm to install a package and don't tell it a specific version, then
+it will install the specified tag.</p>
+
+<p>Also the tag that is added to the package@version specified by the <code>npm
+tag</code> command, if no explicit tag is given.</p>
+
+<h3 id="tmp">tmp</h3>
+
+<ul><li>Default: TMPDIR environment variable, or "/tmp"</li><li>Type: path</li></ul>
+
+<p>Where to store temporary files and folders. All temp files are deleted
+on success, but left behind on failure for forensic purposes.</p>
+
+<h3 id="unicode">unicode</h3>
+
+<ul><li>Default: true</li><li>Type: Boolean</li></ul>
+
+<p>When set to true, npm uses unicode characters in the tree output. When
+false, it uses ascii characters to draw trees.</p>
+
+<h3 id="unsafe-perm">unsafe-perm</h3>
+
+<ul><li>Default: false if running as root, true otherwise</li><li>Type: Boolean</li></ul>
+
+<p>Set to true to suppress the UID/GID switching when running package
+scripts. If set explicitly to false, then installing as a non-root user
+will fail.</p>
+
+<h3 id="usage">usage</h3>
+
+<ul><li>Default: false</li><li>Type: Boolean</li></ul>
+
+<p>Set to show short usage output (like the -H output)
+instead of complete help when doing <code><a href="../doc/help.html">help(1)</a></code>.</p>
+
+<h3 id="user">user</h3>
+
+<ul><li>Default: "nobody"</li><li>Type: String or Number</li></ul>
+
+<p>The UID to set to when running package scripts as root.</p>
+
+<h3 id="username">username</h3>
+
+<ul><li>Default: null</li><li>Type: String</li></ul>
+
+<p>The username on the npm registry. Set with <code>npm adduser</code></p>
+
+<h3 id="userconfig">userconfig</h3>
+
+<ul><li>Default: ~/.npmrc</li><li>Type: path</li></ul>
+
+<p>The location of user-level configuration settings.</p>
+
+<h3 id="userignorefile">userignorefile</h3>
+
+<ul><li>Default: ~/.npmignore</li><li>Type: path</li></ul>
+
+<p>The location of a user-level ignore file to apply to all packages.</p>
+
+<p>If not found, but there is a .gitignore file in the same directory, then
+that will be used instead.</p>
+
+<h3 id="umask">umask</h3>
+
+<ul><li>Default: 022</li><li>Type: Octal numeric string</li></ul>
+
+<p>The "umask" value to use when setting the file creation mode on files
+and folders.</p>
+
+<p>Folders and executables are given a mode which is <code>0777</code> masked against
+this value. Other files are given a mode which is <code>0666</code> masked against
+this value. Thus, the defaults are <code>0755</code> and <code>0644</code> respectively.</p>
+
+<h3 id="version">version</h3>
+
+<ul><li>Default: false</li><li>Type: boolean</li></ul>
+
+<p>If true, output the npm version and exit successfully.</p>
+
+<p>Only relevant when specified explicitly on the command line.</p>
+
+<h3 id="viewer">viewer</h3>
+
+<ul><li>Default: "man" on Posix, "browser" on Windows</li><li>Type: path</li></ul>
+
+<p>The program to use to view help content.</p>
+
+<p>Set to <code>"browser"</code> to view html help content in the default web browser.</p>
+
+<h3 id="yes">yes</h3>
+
+<ul><li>Default: null</li><li>Type: Boolean or null</li></ul>
+
+<p>If set to <code>null</code>, then prompt the user for responses in some
+circumstances.</p>
+
+<p>If set to <code>true</code>, then answer "yes" to any prompt. If set to <code>false</code>
+then answer "no" to any prompt.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<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">set &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/star.html b/deps/npm/html/doc/star.html
new file mode 100644
index 0000000000..e5cc0cdcd9
--- /dev/null
+++ b/deps/npm/html/doc/star.html
@@ -0,0 +1,61 @@
+<!doctype html>
+<html>
+ <title>star</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/star.html">star</a></h1> <p>Mark your favorite packages</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm star &lt;pkgname&gt; [&lt;pkg&gt;, ...]
+npm unstar &lt;pkgname&gt; [&lt;pkg&gt;, ...]</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>"Starring" a package means that you have some interest in it. It's
+a vaguely positive way to show that you care.</p>
+
+<p>"Unstarring" is the same thing, but in reverse.</p>
+
+<p>It's a boolean thing. Starring repeatedly has no additional effect.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/view.html">view(1)</a></li><li><a href="../doc/whoami.html">whoami(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li></ul>
+</div>
+<p id="footer">star &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/start.html b/deps/npm/html/doc/start.html
new file mode 100644
index 0000000000..d95cb51d4c
--- /dev/null
+++ b/deps/npm/html/doc/start.html
@@ -0,0 +1,55 @@
+<!doctype html>
+<html>
+ <title>start</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/start.html">start</a></h1> <p>Start a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm start &lt;name&gt;</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This runs a package's "start" script, if one was provided.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/test.html">test(1)</a></li><li><a href="../doc/restart.html">restart(1)</a></li><li><a href="../doc/stop.html">stop(1)</a></li></ul>
+</div>
+<p id="footer">start &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/stop.html b/deps/npm/html/doc/stop.html
new file mode 100644
index 0000000000..46cdc0c6f4
--- /dev/null
+++ b/deps/npm/html/doc/stop.html
@@ -0,0 +1,55 @@
+<!doctype html>
+<html>
+ <title>stop</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/stop.html">stop</a></h1> <p>Stop a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm stop &lt;name&gt;</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This runs a package's "stop" script, if one was provided.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/test.html">test(1)</a></li><li><a href="../doc/start.html">start(1)</a></li><li><a href="../doc/restart.html">restart(1)</a></li></ul>
+</div>
+<p id="footer">stop &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/submodule.html b/deps/npm/html/doc/submodule.html
new file mode 100644
index 0000000000..d915514c73
--- /dev/null
+++ b/deps/npm/html/doc/submodule.html
@@ -0,0 +1,68 @@
+<!doctype html>
+<html>
+ <title>submodule</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/submodule.html">submodule</a></h1> <p>Add a package as a git submodule</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm submodule &lt;pkg&gt;</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>If the specified package has a git repository url in its package.json
+description, then this command will add it as a git submodule at
+<code>node_modules/&lt;pkg name&gt;</code>.</p>
+
+<p>This is a convenience only. From then on, it's up to you to manage
+updates by using the appropriate git commands. npm will stubbornly
+refuse to update, modify, or remove anything with a <code>.git</code> subfolder
+in it.</p>
+
+<p>This command also does not install missing dependencies, if the package
+does not include them in its git repository. If <code>npm ls</code> reports that
+things are missing, you can either install, link, or submodule them yourself,
+or you can do <code>npm explore &lt;pkgname&gt; -- npm install</code> to install the
+dependencies into the submodule folder.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/json.html">json(1)</a></li><li>git help submodule</li></ul>
+</div>
+<p id="footer">submodule &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/tag.html b/deps/npm/html/doc/tag.html
new file mode 100644
index 0000000000..bb125da30e
--- /dev/null
+++ b/deps/npm/html/doc/tag.html
@@ -0,0 +1,56 @@
+<!doctype html>
+<html>
+ <title>tag</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/tag.html">tag</a></h1> <p>Tag a published version</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm tag &lt;name&gt;@&lt;version&gt; [&lt;tag&gt;]</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Tags the specified version of the package with the specified tag, or the
+<code>--tag</code> config if not specified.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
+</div>
+<p id="footer">tag &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/test.html b/deps/npm/html/doc/test.html
new file mode 100644
index 0000000000..310d34640e
--- /dev/null
+++ b/deps/npm/html/doc/test.html
@@ -0,0 +1,58 @@
+<!doctype html>
+<html>
+ <title>test</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/test.html">test</a></h1> <p>Test a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code> npm test &lt;name&gt;</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This runs a package's "test" script, if one was provided.</p>
+
+<p>To run tests as a condition of installation, set the <code>npat</code> config to
+true.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/run-script.html">run-script(1)</a></li><li><a href="../doc/scripts.html">scripts(1)</a></li><li><a href="../doc/start.html">start(1)</a></li><li><a href="../doc/restart.html">restart(1)</a></li><li><a href="../doc/stop.html">stop(1)</a></li></ul>
+</div>
+<p id="footer">test &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/uninstall.html b/deps/npm/html/doc/uninstall.html
new file mode 100644
index 0000000000..3b635c75ee
--- /dev/null
+++ b/deps/npm/html/doc/uninstall.html
@@ -0,0 +1,57 @@
+<!doctype html>
+<html>
+ <title>uninstall</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/rm.html">rm</a></h1> <p>Remove a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm rm &lt;name&gt;
+npm uninstall &lt;name&gt;</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This uninstalls a package, completely removing everything npm installed
+on its behalf.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/prune.html">prune(1)</a></li><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/config.html">config(1)</a></li></ul>
+</div>
+<p id="footer">uninstall &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/unpublish.html b/deps/npm/html/doc/unpublish.html
new file mode 100644
index 0000000000..7395dcae3c
--- /dev/null
+++ b/deps/npm/html/doc/unpublish.html
@@ -0,0 +1,69 @@
+<!doctype html>
+<html>
+ <title>unpublish</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/unpublish.html">unpublish</a></h1> <p>Remove a package from the registry</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm unpublish &lt;name&gt;[@&lt;version&gt;]</code></pre>
+
+<h2 id="WARNING">WARNING</h2>
+
+<p><strong>It is generally considered bad behavior to remove versions of a library
+that others are depending on!</strong></p>
+
+<p>Consider using the <code>deprecate</code> command
+instead, if your intent is to encourage users to upgrade.</p>
+
+<p>There is plenty of room on the registry.</p>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This removes a package version from the registry, deleting its
+entry and removing the tarball.</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>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/deprecate.html">deprecate(1)</a></li><li><a href="../doc/publish.html">publish(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li><li><a href="../doc/owner.html">owner(1)</a></li></ul>
+</div>
+<p id="footer">unpublish &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/update.html b/deps/npm/html/doc/update.html
new file mode 100644
index 0000000000..43144d9a2e
--- /dev/null
+++ b/deps/npm/html/doc/update.html
@@ -0,0 +1,58 @@
+<!doctype html>
+<html>
+ <title>update</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/update.html">update</a></h1> <p>Update a package</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm update [&lt;name&gt; [&lt;name&gt; ...]]</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command will update all the packages listed to the latest version
+(specified by the <code>tag</code> config).</p>
+
+<p>It will also install missing packages.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/install.html">install(1)</a></li><li><a href="../doc/outdated.html">outdated(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/folders.html">folders(1)</a></li><li><a href="../doc/list.html">list(1)</a></li></ul>
+</div>
+<p id="footer">update &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/version.html b/deps/npm/html/doc/version.html
new file mode 100644
index 0000000000..9dd788b46e
--- /dev/null
+++ b/deps/npm/html/doc/version.html
@@ -0,0 +1,66 @@
+<!doctype html>
+<html>
+ <title>version</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/version.html">version</a></h1> <p>Bump a package version</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm version &lt;newversion&gt; [--message commit-message]</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Run this in a package directory to bump the version and write the new
+data back to the package.json file.</p>
+
+<p>The <code>newversion</code> argument should be a valid semver string, <em>or</em> a valid
+second argument to semver.inc (one of "patch", "minor", or "major"). In
+the second case, the existing version will be incremented by that amount.</p>
+
+<p>If run in a git repo, it will also create a version commit and tag, and
+fail if the repo is not clean.</p>
+
+<p>If supplied with <code>--message</code> (shorthand: <code>-m</code>) command line option, npm
+will use it as a commit message when creating a version commit.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/init.html">init(1)</a></li><li><a href="../doc/json.html">json(1)</a></li><li><a href="../doc/semver.html">semver(1)</a></li></ul>
+</div>
+<p id="footer">version &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/view.html b/deps/npm/html/doc/view.html
new file mode 100644
index 0000000000..dad75c2537
--- /dev/null
+++ b/deps/npm/html/doc/view.html
@@ -0,0 +1,123 @@
+<!doctype html>
+<html>
+ <title>view</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/view.html">view</a></h1> <p>View registry info</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm view &lt;name&gt;[@&lt;version&gt;] [&lt;field&gt;[.&lt;subfield&gt;]...]</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>This command shows data about a package and prints it to the stream
+referenced by the <code>outfd</code> config, which defaults to stdout.</p>
+
+<p>To show the package registry entry for the <code>connect</code> package, you can do
+this:</p>
+
+<pre><code>npm view connect</code></pre>
+
+<p>The default version is "latest" if unspecified.</p>
+
+<p>Field names can be specified after the package descriptor.
+For example, to show the dependencies of the <code>ronn</code> package at version
+0.3.5, you could do the following:</p>
+
+<pre><code>npm view ronn@0.3.5 dependencies</code></pre>
+
+<p>You can view child field by separating them with a period.
+To view the git repository URL for the latest version of npm, you could
+do this:</p>
+
+<pre><code>npm view npm repository.url</code></pre>
+
+<p>This makes it easy to view information about a dependency with a bit of
+shell scripting. For example, to view all the data about the version of
+opts that ronn depends on, you can do this:</p>
+
+<pre><code>npm view opts@$(npm view ronn dependencies.opts)</code></pre>
+
+<p>For fields that are arrays, requesting a non-numeric field will return
+all of the values from the objects in the list. For example, to get all
+the contributor names for the "express" project, you can do this:</p>
+
+<pre><code>npm view express contributors.email</code></pre>
+
+<p>You may also use numeric indices in square braces to specifically select
+an item in an array field. To just get the email address of the first
+contributor in the list, you can do this:</p>
+
+<pre><code>npm view express contributors[0].email</code></pre>
+
+<p>Multiple fields may be specified, and will be printed one after another.
+For exampls, to get all the contributor names and email addresses, you
+can do this:</p>
+
+<pre><code>npm view express contributors.name contributors.email</code></pre>
+
+<p>"Person" fields are shown as a string if they would be shown as an
+object. So, for example, this will show the list of npm contributors in
+the shortened string format. (See <code><a href="../doc/json.html">json(1)</a></code> for more on this.)</p>
+
+<pre><code>npm view npm contributors</code></pre>
+
+<p>If a version range is provided, then data will be printed for every
+matching version of the package. This will show which version of jsdom
+was required by each matching version of yui3:</p>
+
+<pre><code>npm view yui3@'&gt;0.5.4' dependencies.jsdom</code></pre>
+
+<h2 id="OUTPUT">OUTPUT</h2>
+
+<p>If only a single string field for a single version is output, then it
+will not be colorized or quoted, so as to enable piping the output to
+another command.</p>
+
+<p>If the version range matches multiple versions, than each printed value
+will be prefixed with the version it applies to.</p>
+
+<p>If multiple fields are requested, than each of them are prefixed with
+the field name.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/search.html">search(1)</a></li><li><a href="../doc/registry.html">registry(1)</a></li><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/docs.html">docs(1)</a></li></ul>
+</div>
+<p id="footer">view &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/html/doc/whoami.html b/deps/npm/html/doc/whoami.html
new file mode 100644
index 0000000000..54daf97099
--- /dev/null
+++ b/deps/npm/html/doc/whoami.html
@@ -0,0 +1,55 @@
+<!doctype html>
+<html>
+ <title>whoami</title>
+ <meta http-equiv="content-type" value="text/html;utf-8">
+ <link rel="stylesheet" type="text/css" href="./style.css">
+
+ <body>
+ <div id="wrapper">
+<h1><a href="../doc/whoami.html">whoami</a></h1> <p>Display npm username</p>
+
+<h2 id="SYNOPSIS">SYNOPSIS</h2>
+
+<pre><code>npm whoami</code></pre>
+
+<h2 id="DESCRIPTION">DESCRIPTION</h2>
+
+<p>Print the <code>username</code> config to standard output.</p>
+
+<h2 id="SEE-ALSO">SEE ALSO</h2>
+
+<ul><li><a href="../doc/config.html">config(1)</a></li><li><a href="../doc/adduser.html">adduser(1)</a></li></ul>
+</div>
+<p id="footer">whoami &mdash; npm@1.1.0-alpha-2</p>
+<script>
+;(function () {
+var wrapper = document.getElementById("wrapper")
+var els = Array.prototype.slice.call(wrapper.getElementsByTagName("*"), 0)
+ .filter(function (el) {
+ return el.parentNode === wrapper
+ && el.tagName.match(/H[1-6]/)
+ && el.id
+ })
+var l = 2
+ , toc = document.createElement("ul")
+toc.innerHTML = els.map(function (el) {
+ var i = el.tagName.charAt(1)
+ , out = ""
+ while (i > l) {
+ out += "<ul>"
+ l ++
+ }
+ while (i < l) {
+ out += "</ul>"
+ l --
+ }
+ out += "<li><a href='#" + el.id + "'>" +
+ ( el.innerText || el.text || el.innerHTML)
+ + "</a>"
+ return out
+}).join("\n")
+toc.id = "toc"
+document.body.appendChild(toc)
+})()
+</script>
+</body></html>
diff --git a/deps/npm/man/man1/README.1 b/deps/npm/man/man1/README.1
new file mode 100644
index 0000000000..0ef2c5ee6c
--- /dev/null
+++ b/deps/npm/man/man1/README.1
@@ -0,0 +1,406 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm\fR \-\- node package manager
+.
+.SH "SYNOPSIS"
+This is just enough info to get you up and running\.
+.
+.P
+Much more info available via \fBnpm help\fR once it\'s installed\.
+.
+.SH "IMPORTANT"
+\fBYou need node v0\.4 or higher to run this program\.\fR
+.
+.P
+To install an old \fBand unsupported\fR version of npm that works on node 0\.3
+and prior, clone the git repo and dig through the old tags and branches\.
+.
+.SH "Simple Install (Unix only, sorry)"
+To install npm with one command, do this:
+.
+.IP "" 4
+.
+.nf
+curl http://npmjs\.org/install\.sh | sh
+.
+.fi
+.
+.IP "" 0
+.
+.P
+To skip the npm 0\.x cleanup, do this:
+.
+.IP "" 4
+.
+.nf
+curl http://npmjs\.org/install\.sh | clean=no sh
+.
+.fi
+.
+.IP "" 0
+.
+.P
+To say "yes" to the 0\.x cleanup, but skip the prompt:
+.
+.IP "" 4
+.
+.nf
+curl http://npmjs\.org/install\.sh | clean=yes sh
+.
+.fi
+.
+.IP "" 0
+.
+.P
+If you get permission errors, see the section below, entitled
+"Permission Errors on Installation"\.
+.
+.SH "Installing on Windows \-\- Experimental"
+Yes, this sucks\. A convenient one\-liner is coming soon\.
+.
+.SS "Step 1: Drop the node\.exe somewhere"
+You will probably need the latest version of node, \fBat least\fR version \fB0\.5\.8\fR or higher\. You can get it from \fIhttp://nodejs\.org/dist/v0\.5\.8/node\.exe\fR\|\.
+.
+.SS "Step 2 (optional): Update the %PATH% environment variable"
+Update your \fB%PATH%\fR environment variable in System Properties:
+Advanced: Environment, so that it includes the \fBbin\fR folder you chose\.
+The entries are separated by semicolons\.
+.
+.P
+You \fImay\fR be able to do this from the command line using \fBset\fR and \fBsetx\fR\|\. \fBcd\fR into the \fBbin\fR folder you created in step 1, and do this:
+.
+.IP "" 4
+.
+.nf
+set path=%PATH%;%CD%
+setx path "%PATH%"
+.
+.fi
+.
+.IP "" 0
+.
+.P
+This will have the added advantage that you\'ll be able to simply type \fBnpm\fR or \fBnode\fR in any project folder to access those commands\.
+.
+.P
+If you decide not to update the PATH, and put the node\.exe file in \fBC:\\node\\node\.exe\fR, then the npm executable will end up \fBC:\\node\\npm\.cmd\fR,
+and you\'ll have to type \fBC:\\node\\npm <command>\fR to use it\.
+.
+.SS "Step 3: Install git"
+If you don\'t already have git, install it \fIhttps://git\.wiki\.kernel\.org/index\.php/MSysGit:InstallMSysGit\fR\|\.
+.
+.P
+Run \fBgit \-\-version\fR to make sure that it\'s at least version 1\.7\.6\.
+.
+.SS "Step 4: install npm"
+Lastly, \fBafter\fR node\.exe, git, and your %PATH% have \fIall\fR been set up
+properly, install npm itself:
+.
+.IP "" 4
+.
+.nf
+git config \-\-system http\.sslcainfo /bin/curl\-ca\-bundle\.crt
+git clone \-\-recursive git://github\.com/isaacs/npm\.git
+cd npm
+node cli\.js install npm \-gf
+.
+.fi
+.
+.IP "" 0
+.
+.SH "Permission Errors (`EACCES` or `EACCESS`) on Installation"
+On Windows, you may need to run the command prompt in elevated
+permission mode\. (Right\-click on cmd\.exe, Run as Administrator\.)
+.
+.P
+On Unix, you may need to run as root, or use \fBsudo\fR\|\.
+.
+.P
+\fBNote\fR: You would need to \fBsudo\fR the \fBsh\fR, \fBnot\fR the \fBcurl\fR\|\. Fetching
+stuff from the internet typically doesn\'t require elevated permissions\.
+Running it might\.
+.
+.P
+I highly recommend that you first download the file, and make sure that
+it is what you expect, and \fIthen\fR run it\.
+.
+.IP "" 4
+.
+.nf
+curl \-O http://npmjs\.org/install\.sh
+# inspect file\.\.
+sudo sh install\.sh
+.
+.fi
+.
+.IP "" 0
+.
+.SH "Installing on Cygwin"
+No\.
+.
+.SH "Dev Install"
+To install the latest \fBunstable\fR development version from git:
+.
+.IP "" 4
+.
+.nf
+git clone https://github\.com/isaacs/npm\.git
+cd npm
+git submodule update \-\-init \-\-recursive
+sudo make install # (or: `node cli\.js install \-gf`)
+.
+.fi
+.
+.IP "" 0
+.
+.P
+If you\'re sitting in the code folder reading this document in your
+terminal, then you\'ve already got the code\. Just do:
+.
+.IP "" 4
+.
+.nf
+git submodule update \-\-init \-\-recursive
+sudo make install
+.
+.fi
+.
+.IP "" 0
+.
+.P
+and npm will install itself\.
+.
+.P
+If you don\'t have make, and don\'t have curl or git, and ALL you have is
+this code and node, you can probably do this:
+.
+.IP "" 4
+.
+.nf
+git submodule update \-\-init \-\-recursive
+sudo node \./cli\.js install \-g
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Note that github tarballs \fBdo not contain submodules\fR, so
+those won\'t work\. You\'ll have to also fetch the appropriate submodules
+listed in the \.gitmodules file\.
+.
+.SH "Permissions when Using npm to Install Other Stuff"
+\fBtl;dr\fR
+.
+.IP "\(bu" 4
+Use \fBsudo\fR for greater safety\. Or don\'t, if you prefer not to\.
+.
+.IP "\(bu" 4
+npm will downgrade permissions if it\'s root before running any build
+scripts that package authors specified\.
+.
+.IP "" 0
+.
+.SS "More details\.\.\."
+As of version 0\.3, it is recommended to run npm as root\.
+This allows npm to change the user identifier to the \fBnobody\fR user prior
+to running any package build or test commands\.
+.
+.P
+If you are not the root user, or if you are on a platform that does not
+support uid switching, then npm will not attempt to change the userid\.
+.
+.P
+If you would like to ensure that npm \fBalways\fR runs scripts as the
+"nobody" user, and have it fail if it cannot downgrade permissions, then
+set the following configuration param:
+.
+.IP "" 4
+.
+.nf
+npm config set unsafe\-perm false
+.
+.fi
+.
+.IP "" 0
+.
+.P
+This will prevent running in unsafe mode, even as non\-root users\.
+.
+.SH "Uninstalling"
+So sad to see you go\.
+.
+.IP "" 4
+.
+.nf
+sudo npm uninstall npm \-g
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Or, if that fails,
+.
+.IP "" 4
+.
+.nf
+sudo make uninstall
+.
+.fi
+.
+.IP "" 0
+.
+.SH "More Severe Uninstalling"
+Usually, the above instructions are sufficient\. That will remove
+npm, but leave behind anything you\'ve installed\.
+.
+.P
+If you would like to remove all the packages that you have installed,
+then you can use the \fBnpm ls\fR command to find them, and then \fBnpm rm\fR to
+remove them\.
+.
+.P
+To remove cruft left behind by npm 0\.x, you can use the included \fBclean\-old\.sh\fR script file\. You can run it conveniently like this:
+.
+.IP "" 4
+.
+.nf
+npm explore npm \-g \-\- sh scripts/clean\-old\.sh
+.
+.fi
+.
+.IP "" 0
+.
+.P
+npm uses two configuration files, one for per\-user configs, and another
+for global (every\-user) configs\. You can view them by doing:
+.
+.IP "" 4
+.
+.nf
+npm config get userconfig # defaults to ~/\.npmrc
+npm config get globalconfig # defaults to /usr/local/etc/npmrc
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Uninstalling npm does not remove configuration files by default\. You
+must remove them yourself manually if you want them gone\. Note that
+this means that future npm installs will not remember the settings that
+you have chosen\.
+.
+.SH "Using npm Programmatically"
+If you would like to use npm programmatically, you can do that\.
+It\'s not very well documented, but it \fIis\fR rather simple\.
+.
+.IP "" 4
+.
+.nf
+var npm = require("npm")
+npm\.load(myConfigObject, function (er) {
+ if (er) return handlError(er)
+ npm\.commands\.install(["some", "args"], function (er, data) {
+ if (er) return commandFailed(er)
+ // command succeeded, and data might have some info
+ })
+ npm\.on("log", function (message) { \.\.\.\. })
+})
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The \fBload\fR function takes an object hash of the command\-line configs\.
+The various \fBnpm\.commands\.<cmd>\fR functions take an \fBarray\fR of
+positional argument \fBstrings\fR\|\. The last argument to any \fBnpm\.commands\.<cmd>\fR function is a callback\. Some commands take other
+optional arguments\. Read the source\.
+.
+.P
+You cannot set configs individually for any single npm function at this
+time\. Since \fBnpm\fR is a singleton, any call to \fBnpm\.config\.set\fR will
+change the value for \fIall\fR npm commands in that process\.
+.
+.P
+See \fB\|\./bin/npm\-cli\.js\fR for an example of pulling config values off of the
+command line arguments using nopt\. You may also want to check out \fBnpm
+help config\fR to learn about all the options you can set there\.
+.
+.SH "More Docs"
+Check out the docs \fIhttp://npmjs\.org/doc/\fR,
+especially the faq \fIhttp://npmjs\.org/doc/faq\.html\fR\|\.
+.
+.P
+You can use the \fBnpm help\fR command to read any of them\.
+.
+.P
+If you\'re a developer, and you want to use npm to publish your program,
+you should read this \fIhttp://npmjs\.org/doc/developers\.html\fR
+.
+.SH "Legal Stuff"
+"npm" and "the npm registry" are owned by Isaac Z\. Schlueter\. All
+rights not explicitly granted in the MIT license are reserved\. See the
+included LICENSE file for more details\.
+.
+.P
+"Node\.js" and "node" are trademarks owned by Joyent, Inc\. npm is not
+officially part of the Node\.js project, and is neither owned by nor
+officially affiliated with Joyent, Inc\.
+.
+.P
+The packages in the npm registry are not part of npm itself, and are the
+sole property of their respective maintainers\. While every effort is
+made to ensure accountability, there is absolutely no guarantee,
+warrantee, or assertion made as to the quality, fitness for a specific
+purpose, or lack of malice in any given npm package\. Modules
+published on the npm registry are not affiliated with or endorsed by
+Joyent, Inc\., Isaac Z\. Schlueter, Ryan Dahl, or the Node\.js project\.
+.
+.P
+If you have a complaint about a package in the npm registry, and cannot
+resolve it with the package owner, please express your concerns to
+Isaac Z\. Schlueter at \fIi@izs\.me\fR\|\.
+.
+.SS "In plain english"
+This is mine; not my employer\'s, not Node\'s, not Joyent\'s, not Ryan
+Dahl\'s\.
+.
+.P
+If you publish something, it\'s yours, and you are solely accountable
+for it\. Not me, not Node, not Joyent, not Ryan Dahl\.
+.
+.P
+If other people publish something, it\'s theirs\. Not mine, not Node\'s,
+not Joyent\'s, not Ryan Dahl\'s\.
+.
+.P
+Yes, you can publish something evil\. It will be removed promptly if
+reported, and we\'ll lose respect for you\. But there is no vetting
+process for published modules\.
+.
+.P
+If this concerns you, inspect the source before using packages\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help npm
+.
+.IP "\(bu" 4
+npm help faq
+.
+.IP "\(bu" 4
+npm help help
+.
+.IP "\(bu" 4
+npm help index
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/adduser.1 b/deps/npm/man/man1/adduser.1
new file mode 100644
index 0000000000..a3a6796055
--- /dev/null
+++ b/deps/npm/man/man1/adduser.1
@@ -0,0 +1,57 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-ADDUSER" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-adduser\fR \-\- Add a registry user account
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm adduser
+.
+.fi
+.
+.SH "DESCRIPTION"
+Create or verify a user named \fB<username>\fR in the npm registry, and
+save the credentials to the \fB\|\.npmrc\fR file\.
+.
+.P
+The username, password, and email are read in from prompts\.
+.
+.P
+You may use this command to change your email address, but not username
+or password\.
+.
+.P
+To reset your password, go to \fIhttp://admin\.npmjs\.org/\fR
+.
+.P
+You may use this command multiple times with the same user account to
+authorize on a new machine\.
+.
+.SH "CONFIGURATION"
+.
+.SS "registry"
+Default: http://registry\.npmjs\.org/
+.
+.P
+The base URL of the npm package registry\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help owner
+.
+.IP "\(bu" 4
+npm help whoami
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/author.1 b/deps/npm/man/man1/author.1
new file mode 100644
index 0000000000..6373c3ee4d
--- /dev/null
+++ b/deps/npm/man/man1/author.1
@@ -0,0 +1,55 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-OWNER" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-owner\fR \-\- Manage package owners
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm owner ls <package name>
+npm owner add <user> <package name>
+npm owner rm <user> <package name>
+.
+.fi
+.
+.SH "DESCRIPTION"
+Manage ownership of published packages\.
+.
+.IP "\(bu" 4
+ls:
+List all the users who have access to modify a package and push new versions\.
+Handy when you need to know who to bug for help\.
+.
+.IP "\(bu" 4
+add:
+Add a new user as a maintainer of a package\. This user is enabled to modify
+metadata, publish new versions, and add other owners\.
+.
+.IP "\(bu" 4
+rm:
+Remove a user from the package owner list\. This immediately revokes their
+privileges\.
+.
+.IP "" 0
+.
+.P
+Note that there is only one level of access\. Either you can modify a package,
+or you can\'t\. Future versions may contain more fine\-grained access levels, but
+that is not implemented at this time\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help publish
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "\(bu" 4
+npm help adduser
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/bin.1 b/deps/npm/man/man1/bin.1
new file mode 100644
index 0000000000..82dea886df
--- /dev/null
+++ b/deps/npm/man/man1/bin.1
@@ -0,0 +1,34 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-BIN" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-bin\fR \-\- Display npm bin folder
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm bin
+.
+.fi
+.
+.SH "DESCRIPTION"
+Print the folder where npm will install executables\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help prefix
+.
+.IP "\(bu" 4
+npm help root
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/bugs.1 b/deps/npm/man/man1/bugs.1
new file mode 100644
index 0000000000..76e2066b9a
--- /dev/null
+++ b/deps/npm/man/man1/bugs.1
@@ -0,0 +1,70 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-BUGS" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-bugs\fR \-\- Bugs for a package in a web browser maybe
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm bugs <pkgname>
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command tries to guess at the likely location of a package\'s
+bug tracker URL, and then tries to open it using the \fB\-\-browser\fR
+config param\.
+.
+.SH "CONFIGURATION"
+.
+.SS "browser"
+.
+.IP "\(bu" 4
+Default: OS X: \fB"open"\fR, others: \fB"google\-chrome"\fR
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+The browser that is called by the \fBnpm bugs\fR command to open websites\.
+.
+.SS "registry"
+.
+.IP "\(bu" 4
+Default: https://registry\.npmjs\.org/
+.
+.IP "\(bu" 4
+Type: url
+.
+.IP "" 0
+.
+.P
+The base URL of the npm package registry\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help docs
+.
+.IP "\(bu" 4
+npm help view
+.
+.IP "\(bu" 4
+npm help publish
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/build.1 b/deps/npm/man/man1/build.1
new file mode 100644
index 0000000000..1980f85d09
--- /dev/null
+++ b/deps/npm/man/man1/build.1
@@ -0,0 +1,43 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-BUILD" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-build\fR \-\- Build a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm build <package\-folder>
+.
+.fi
+.
+.IP "\(bu" 4
+\fB<package\-folder>\fR:
+A folder containing a \fBpackage\.json\fR file in its root\.
+.
+.IP "" 0
+.
+.SH "DESCRIPTION"
+This is the plumbing command called by \fBnpm link\fR and \fBnpm install\fR\|\.
+.
+.P
+It should generally not be called directly\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "\(bu" 4
+npm help link
+.
+.IP "\(bu" 4
+npm help scripts
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/bundle.1 b/deps/npm/man/man1/bundle.1
new file mode 100644
index 0000000000..74e16f5bfe
--- /dev/null
+++ b/deps/npm/man/man1/bundle.1
@@ -0,0 +1,23 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-BUNDLE" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-bundle\fR \-\- REMOVED
+.
+.SH "DESCRIPTION"
+The \fBnpm bundle\fR command has been removed in 1\.0, for the simple reason
+that it is no longer necessary, as the default behavior is now to
+install packages into the local space\.
+.
+.P
+Just use \fBnpm install\fR now to do what \fBnpm bundle\fR used to do\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/cache.1 b/deps/npm/man/man1/cache.1
new file mode 100644
index 0000000000..484d82afc0
--- /dev/null
+++ b/deps/npm/man/man1/cache.1
@@ -0,0 +1,97 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-CACHE" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-cache\fR \-\- Manipulates packages cache
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm cache add <tarball file>
+npm cache add <folder>
+npm cache add <tarball url>
+npm cache add <name>@<version>
+npm cache ls [<path>]
+npm cache clean [<path>]
+.
+.fi
+.
+.SH "DESCRIPTION"
+Used to add, list, or clear the npm cache folder\.
+.
+.IP "\(bu" 4
+add:
+Add the specified package to the local cache\. This command is primarily
+intended to be used internally by npm, but it can provide a way to
+add data to the local installation cache explicitly\.
+.
+.IP "\(bu" 4
+ls:
+Show the data in the cache\. Argument is a path to show in the cache
+folder\. Works a bit like the \fBfind\fR program, but limited by the \fBdepth\fR config\.
+.
+.IP "\(bu" 4
+clean:
+Delete data out of the cache folder\. If an argument is provided, then
+it specifies a subpath to delete\. If no argument is provided, then
+the entire cache is cleared\.
+.
+.IP "" 0
+.
+.SH "DETAILS"
+npm stores cache data in \fB$HOME/\.npm\fR\|\. For each package that is added
+to the cache, three pieces of information are stored in \fB{cache}/{name}/{version}\fR:
+.
+.IP "\(bu" 4
+\|\.\.\./package/:
+A folder containing the package contents as they appear in the tarball\.
+.
+.IP "\(bu" 4
+\|\.\.\./package\.json:
+The package\.json file, as npm sees it, with overlays applied and a _id attribute\.
+.
+.IP "\(bu" 4
+\|\.\.\./package\.tgz:
+The tarball for that version\.
+.
+.IP "" 0
+.
+.P
+Additionally, whenever a registry request is made, a \fB\|\.cache\.json\fR file
+is placed at the corresponding URI, to store the ETag and the requested
+data\.
+.
+.P
+Commands that make non\-essential registry requests (such as \fBsearch\fR and \fBview\fR, or the completion scripts) generally specify a minimum timeout\.
+If the \fB\|\.cache\.json\fR file is younger than the specified timeout, then
+they do not make an HTTP request to the registry\.
+.
+.SH "CONFIGURATION"
+.
+.SS "cache"
+Default: \fB$HOME/\.npm\fR on Posix, or \fB$HOME/npm\-cache\fR on Windows\.
+.
+.P
+The root cache folder\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "\(bu" 4
+npm help publish
+.
+.IP "\(bu" 4
+npm help pack
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/changelog.1 b/deps/npm/man/man1/changelog.1
new file mode 100644
index 0000000000..8b4dd36bc3
--- /dev/null
+++ b/deps/npm/man/man1/changelog.1
@@ -0,0 +1,91 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-CHANGELOG" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-changelog\fR \-\- Changes
+.
+.SH "HISTORY"
+.
+.SS "1\.0"
+.
+.IP "\(bu" 4
+Greatly simplified folder structure
+.
+.IP "\(bu" 4
+Install locally (bundle by default)
+.
+.IP "\(bu" 4
+Drastic rearchitecture
+.
+.IP "" 0
+.
+.SS "0\.3"
+.
+.IP "\(bu" 4
+More correct permission/uid handling when running as root
+.
+.IP "\(bu" 4
+Require node 0\.4\.0
+.
+.IP "\(bu" 4
+Reduce featureset
+.
+.IP "\(bu" 4
+Packages without "main" modules don\'t export modules
+.
+.IP "\(bu" 4
+Remove support for invalid JSON (since node doesn\'t support it)
+.
+.IP "" 0
+.
+.SS "0\.2"
+.
+.IP "\(bu" 4
+First allegedly "stable" release
+.
+.IP "\(bu" 4
+Most functionality implemented
+.
+.IP "\(bu" 4
+Used shim files and \fBname@version\fR symlinks
+.
+.IP "\(bu" 4
+Feature explosion
+.
+.IP "\(bu" 4
+Kind of a mess
+.
+.IP "" 0
+.
+.SS "0\.1"
+.
+.IP "\(bu" 4
+push to beta, and announce
+.
+.IP "\(bu" 4
+Solaris and Cygwin support
+.
+.IP "" 0
+.
+.SS "0\.0"
+.
+.IP "\(bu" 4
+Lots of sketches and false starts; abandoned a few times
+.
+.IP "\(bu" 4
+Core functionality established
+.
+.IP "" 0
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help npm
+.
+.IP "\(bu" 4
+npm help faq
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/coding-style.1 b/deps/npm/man/man1/coding-style.1
new file mode 100644
index 0000000000..864b14704e
--- /dev/null
+++ b/deps/npm/man/man1/coding-style.1
@@ -0,0 +1,269 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-CODING\-STYLE" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-coding-style\fR \-\- npm\'s "funny" coding style
+.
+.SH "DESCRIPTION"
+npm\'s coding style is a bit unconventional\. It is not different for
+difference\'s sake, but rather a carefully crafted style that is
+designed to reduce visual clutter and make bugs more apparent\.
+.
+.P
+If you want to contribute to npm (which is very encouraged), you should
+make your code conform to npm\'s style\.
+.
+.SH "Line Length"
+Keep lines shorter than 80 characters\. It\'s better for lines to be
+too short than to be too long\. Break up long lists, objects, and other
+statements onto multiple lines\.
+.
+.SH "Indentation"
+Two\-spaces\. Tabs are better, but they look like hell in web browsers
+(and on github), and node uses 2 spaces, so that\'s that\.
+.
+.P
+Configure your editor appropriately\.
+.
+.SH "Curly braces"
+Curly braces belong on the same line as the thing that necessitates them\.
+.
+.P
+Bad:
+.
+.IP "" 4
+.
+.nf
+function ()
+{
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Good:
+.
+.IP "" 4
+.
+.nf
+function () {
+.
+.fi
+.
+.IP "" 0
+.
+.P
+If a block needs to wrap to the next line, use a curly brace\. Don\'t
+use it if it doesn\'t\.
+.
+.P
+Bad:
+.
+.IP "" 4
+.
+.nf
+if (foo) { bar() }
+while (foo)
+ bar()
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Good:
+.
+.IP "" 4
+.
+.nf
+if (foo) bar()
+while (foo) {
+ bar()
+}
+.
+.fi
+.
+.IP "" 0
+.
+.SH "Semicolons"
+Don\'t use them except in four situations:
+.
+.IP "\(bu" 4
+\fBfor (;;)\fR loops\. They\'re actually required\.
+.
+.IP "\(bu" 4
+null loops like: \fBwhile (something) ;\fR (But you\'d better have a good
+reason for doing that\.)
+.
+.IP "\(bu" 4
+case "foo": doSomething(); break
+.
+.IP "\(bu" 4
+In front of a leading ( or [ at the start of the line\.
+This prevents the expression from being interpreted
+as a function call or property access, respectively\.
+.
+.IP "" 0
+.
+.P
+Some examples of good semicolon usage:
+.
+.IP "" 4
+.
+.nf
+;(x || y)\.doSomething()
+;[a, b, c]\.forEach(doSomething)
+for (var i = 0; i < 10; i ++) {
+ switch (state) {
+ case "begin": start(); continue
+ case "end": finish(); break
+ default: throw new Error("unknown state")
+ }
+ end()
+}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Note that starting lines with \fB\-\fR and \fB+\fR also should be prefixed
+with a semicolon, but this is much less common\.
+.
+.SH "Comma First"
+If there is a list of things separated by commas, and it wraps
+across multiple lines, put the comma at the start of the next
+line, directly below the token that starts the list\. Put the
+final token in the list on a line by itself\. For example:
+.
+.IP "" 4
+.
+.nf
+var magicWords = [ "abracadabra"
+ , "gesundheit"
+ , "ventrilo"
+ ]
+ , spells = { "fireball" : function () { setOnFire() }
+ , "water" : function () { putOut() }
+ }
+ , a = 1
+ , b = "abc"
+ , etc
+ , somethingElse
+.
+.fi
+.
+.IP "" 0
+.
+.SH "Whitespace"
+Put a single space in front of ( for anything other than a function call\.
+Also use a single space wherever it makes things more readable\.
+.
+.P
+Don\'t leave trailing whitespace at the end of lines\. Don\'t indent empty
+lines\. Don\'t use more spaces than are helpful\.
+.
+.SH "Functions"
+Use named functions\. They make stack traces a lot easier to read\.
+.
+.SH "Callbacks, Sync/async Style"
+Use the asynchronous/non\-blocking versions of things as much as possible\.
+It might make more sense for npm to use the synchronous fs APIs, but this
+way, the fs and http and child process stuff all uses the same callback\-passing
+methodology\.
+.
+.P
+The callback should always be the last argument in the list\. Its first
+argument is the Error or null\.
+.
+.P
+Be very careful never to ever ever throw anything\. It\'s worse than useless\.
+Just send the error message back as the first argument to the callback\.
+.
+.SH "Errors"
+Always create a new Error object with your message\. Don\'t just return a
+string message to the callback\. Stack traces are handy\.
+.
+.P
+Use the \fBrequire("\./utils/log")\.er\fR function\. It takes a callback and an
+error message, and returns an object that will report the message in the
+event of a failure\. It\'s quite handy\.
+.
+.IP "" 4
+.
+.nf
+function myThing (args, cb) {
+ getData(args, function (er, data) {
+ if (er) return log\.er(cb, "Couldn\'t get data")(er)
+ doSomethingElse(data, cb)
+ })
+}
+function justHasToWork (cb) {
+ doSomething(log\.er(cb, "the doSomething failed\."))
+}
+.
+.fi
+.
+.IP "" 0
+.
+.SH "Logging"
+Please clean up logs when they are no longer helpful\. In particular,
+logging the same object over and over again is not helpful\. Logs should
+report what\'s happening so that it\'s easier to track down where a fault
+occurs\.
+.
+.P
+Use appropriate log levels\. The default log() function logs at the
+"info" level\. See \fBnpm help config\fR and search for "loglevel"\.
+.
+.SH "Case, naming, etc\."
+Use \fBlowerCamelCase\fR for multiword identifiers when they refer to objects,
+functions, methods, members, or anything not specified in this section\.
+.
+.P
+Use \fBUpperCamelCase\fR for class names (things that you\'d pass to "new")\.
+.
+.P
+Use \fBall\-lower\-hyphen\-css\-case\fR for multiword filenames and config keys\.
+.
+.P
+Use named functions\. They make stack traces easier to follow\.
+.
+.P
+Use \fBCAPS_SNAKE_CASE\fR for constants, things that should never change
+and are rarely used\.
+.
+.P
+Use a single uppercase letter for function names where the function
+would normally be anonymous, but needs to call itself recursively\. It
+makes it clear that it\'s a "throwaway" function\.
+.
+.SH "null, undefined, false, 0"
+Boolean variables and functions should always be either \fBtrue\fR or \fBfalse\fR\|\. Don\'t set it to 0 unless it\'s supposed to be a number\.
+.
+.P
+When something is intentionally missing or removed, set it to \fBnull\fR\|\.
+.
+.P
+Don\'t set things to \fBundefined\fR\|\. Reserve that value to mean "not yet
+set to anything\."
+.
+.P
+Boolean objects are verboten\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help developers
+.
+.IP "\(bu" 4
+npm help faq
+.
+.IP "\(bu" 4
+npm help npm
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/completion.1 b/deps/npm/man/man1/completion.1
new file mode 100644
index 0000000000..60bbefc08e
--- /dev/null
+++ b/deps/npm/man/man1/completion.1
@@ -0,0 +1,47 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-COMPLETION" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-completion\fR \-\- Tab Completion for npm
+.
+.SH "SYNOPSIS"
+.
+.nf
+\|\. <(npm completion)
+.
+.fi
+.
+.SH "DESCRIPTION"
+Enables tab\-completion in all npm commands\.
+.
+.P
+The synopsis above
+loads the completions into your current shell\. Adding it to
+your ~/\.bashrc or ~/\.zshrc will make the completions available
+everywhere\.
+.
+.P
+You may of course also pipe the output of npm completion to a file
+such as \fB/usr/local/etc/bash_completion\.d/npm\fR if you have a system
+that will read that file for you\.
+.
+.P
+When \fBCOMP_CWORD\fR, \fBCOMP_LINE\fR, and \fBCOMP_POINT\fR are defined in the
+environment, \fBnpm completion\fR acts in "plumbing mode", and outputs
+completions based on the arguments\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help developers
+.
+.IP "\(bu" 4
+npm help faq
+.
+.IP "\(bu" 4
+npm help npm
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/config.1 b/deps/npm/man/man1/config.1
new file mode 100644
index 0000000000..5075c9f0cc
--- /dev/null
+++ b/deps/npm/man/man1/config.1
@@ -0,0 +1,1154 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-CONFIG" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-config\fR \-\- Manage the npm configuration file
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm config set <key> <value> [\-\-global]
+npm config get <key>
+npm config delete <key>
+npm config list
+npm config edit
+npm get <key>
+npm set <key> <value> [\-\-global]
+.
+.fi
+.
+.SH "DESCRIPTION"
+npm gets its configuration values from 6 sources, in this priority:
+.
+.SS "Command Line Flags"
+Putting \fB\-\-foo bar\fR on the command line sets the \fBfoo\fR configuration parameter to \fB"bar"\fR\|\. A \fB\-\-\fR argument tells the cli
+parser to stop reading flags\. A \fB\-\-flag\fR parameter that is at the \fIend\fR of
+the command will be given the value of \fBtrue\fR\|\.
+.
+.SS "Environment Variables"
+Any environment variables that start with \fBnpm_config_\fR will be interpreted
+as a configuration parameter\. For example, putting \fBnpm_config_foo=bar\fR in
+your environment will set the \fBfoo\fR configuration parameter to \fBbar\fR\|\. Any
+environment configurations that are not given a value will be given the value
+of \fBtrue\fR\|\. Config values are case\-insensitive, so \fBNPM_CONFIG_FOO=bar\fR will
+work the same\.
+.
+.SS "Per\-user config file"
+\fB$HOME/\.npmrc\fR (or the \fBuserconfig\fR param, if set above)
+.
+.P
+This file is an ini\-file formatted list of \fBkey = value\fR parameters\.
+.
+.SS "Global config file"
+\fB$PREFIX/etc/npmrc\fR (or the \fBglobalconfig\fR param, if set above):
+This file is an ini\-file formatted list of \fBkey = value\fR parameters
+.
+.SS "Built\-in config file"
+\fBpath/to/npm/itself/npmrc\fR
+.
+.P
+This is an unchangeable "builtin"
+configuration file that npm keeps consistent across updates\. Set
+fields in here using the \fB\|\./configure\fR script that comes with npm\.
+This is primarily for distribution maintainers to override default
+configs in a standard and consistent manner\.
+.
+.SS "Default Configs"
+A set of configuration parameters that are internal to npm, and are
+defaults if nothing else is specified\.
+.
+.SH "Sub\-commands"
+Config supports the following sub\-commands:
+.
+.SS "set"
+.
+.nf
+npm config set key value
+.
+.fi
+.
+.P
+Sets the config key to the value\.
+.
+.P
+If value is omitted, then it sets it to "true"\.
+.
+.SS "get"
+.
+.nf
+npm config get key
+.
+.fi
+.
+.P
+Echo the config value to stdout\.
+.
+.SS "list"
+.
+.nf
+npm config list
+.
+.fi
+.
+.P
+Show all the config settings\.
+.
+.SS "delete"
+.
+.nf
+npm config delete key
+.
+.fi
+.
+.P
+Deletes the key from all configuration files\.
+.
+.SS "edit"
+.
+.nf
+npm config edit
+.
+.fi
+.
+.P
+Opens the config file in an editor\. Use the \fB\-\-global\fR flag to edit the
+global config\.
+.
+.SH "Shorthands and Other CLI Niceties"
+The following shorthands are parsed on the command\-line:
+.
+.IP "\(bu" 4
+\fB\-v\fR: \fB\-\-version\fR
+.
+.IP "\(bu" 4
+\fB\-h\fR, \fB\-?\fR, \fB\-\-help\fR, \fB\-H\fR: \fB\-\-usage\fR
+.
+.IP "\(bu" 4
+\fB\-s\fR, \fB\-\-silent\fR: \fB\-\-loglevel silent\fR
+.
+.IP "\(bu" 4
+\fB\-d\fR: \fB\-\-loglevel info\fR
+.
+.IP "\(bu" 4
+\fB\-dd\fR, \fB\-\-verbose\fR: \fB\-\-loglevel verbose\fR
+.
+.IP "\(bu" 4
+\fB\-ddd\fR: \fB\-\-loglevel silly\fR
+.
+.IP "\(bu" 4
+\fB\-g\fR: \fB\-\-global\fR
+.
+.IP "\(bu" 4
+\fB\-l\fR: \fB\-\-long\fR
+.
+.IP "\(bu" 4
+\fB\-m\fR: \fB\-\-message\fR
+.
+.IP "\(bu" 4
+\fB\-p\fR, \fB\-\-porcelain\fR: \fB\-\-parseable\fR
+.
+.IP "\(bu" 4
+\fB\-reg\fR: \fB\-\-registry\fR
+.
+.IP "\(bu" 4
+\fB\-v\fR: \fB\-\-version\fR
+.
+.IP "\(bu" 4
+\fB\-f\fR: \fB\-\-force\fR
+.
+.IP "\(bu" 4
+\fB\-l\fR: \fB\-\-long\fR
+.
+.IP "\(bu" 4
+\fB\-desc\fR: \fB\-\-description\fR
+.
+.IP "\(bu" 4
+\fB\-S\fR: \fB\-\-save\fR
+.
+.IP "\(bu" 4
+\fB\-y\fR: \fB\-\-yes\fR
+.
+.IP "\(bu" 4
+\fB\-n\fR: \fB\-\-yes false\fR
+.
+.IP "\(bu" 4
+\fBll\fR and \fBla\fR commands: \fBls \-\-long\fR
+.
+.IP "" 0
+.
+.P
+If the specified configuration param resolves unambiguously to a known
+configuration parameter, then it is expanded to that configuration
+parameter\. For example:
+.
+.IP "" 4
+.
+.nf
+npm ls \-\-par
+# same as:
+npm ls \-\-parseable
+.
+.fi
+.
+.IP "" 0
+.
+.P
+If multiple single\-character shorthands are strung together, and the
+resulting combination is unambiguously not some other configuration
+param, then it is expanded to its various component pieces\. For
+example:
+.
+.IP "" 4
+.
+.nf
+npm ls \-gpld
+# same as:
+npm ls \-\-global \-\-parseable \-\-long \-\-loglevel info
+.
+.fi
+.
+.IP "" 0
+.
+.SH "Per\-Package Config Settings"
+When running scripts (see \fBnpm help scripts\fR)
+the package\.json "config" keys are overwritten in the environment if
+there is a config param of \fB<name>[@<version>]:<key>\fR\|\. For example, if
+the package\.json has this:
+.
+.IP "" 4
+.
+.nf
+{ "name" : "foo"
+, "config" : { "port" : "8080" }
+, "scripts" : { "start" : "node server\.js" } }
+.
+.fi
+.
+.IP "" 0
+.
+.P
+and the server\.js is this:
+.
+.IP "" 4
+.
+.nf
+http\.createServer(\.\.\.)\.listen(process\.env\.npm_package_config_port)
+.
+.fi
+.
+.IP "" 0
+.
+.P
+then the user could change the behavior by doing:
+.
+.IP "" 4
+.
+.nf
+npm config set foo:port 80
+.
+.fi
+.
+.IP "" 0
+.
+.SH "Config Settings"
+.
+.SS "always\-auth"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Force npm to always require authentication when accessing the registry,
+even for \fBGET\fR requests\.
+.
+.SS "bin\-publish"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+If set to true, then binary packages will be created on publish\.
+.
+.P
+This is the way to opt into the "bindist" behavior described below\.
+.
+.SS "bindist"
+.
+.IP "\(bu" 4
+Default: Unstable node versions, \fBnull\fR, otherwise \fB"<node version>\-<platform>\-<os release>"\fR
+.
+.IP "\(bu" 4
+Type: String or \fBnull\fR
+.
+.IP "" 0
+.
+.P
+Experimental: on stable versions of node, binary distributions will be
+created with this tag\. If a user then installs that package, and their \fBbindist\fR tag is found in the list of binary distributions, they will
+get that prebuilt version\.
+.
+.P
+Pre\-build node packages have their preinstall, install, and postinstall
+scripts stripped (since they are run prior to publishing), and do not
+have their \fBbuild\fR directories automatically ignored\.
+.
+.P
+It\'s yet to be seen if this is a good idea\.
+.
+.SS "browser"
+.
+.IP "\(bu" 4
+Default: OS X: \fB"open"\fR, others: \fB"google\-chrome"\fR
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+The browser that is called by the \fBnpm docs\fR command to open websites\.
+.
+.SS "ca"
+.
+.IP "\(bu" 4
+Default: The npm CA certificate
+.
+.IP "\(bu" 4
+Type: String or null
+.
+.IP "" 0
+.
+.P
+The Certificate Authority signing certificate that is trusted for SSL
+connections to the registry\.
+.
+.P
+Set to \fBnull\fR to only allow "known" registrars, or to a specific CA cert
+to trust only that specific signing authority\.
+.
+.P
+See also the \fBstrict\-ssl\fR config\.
+.
+.SS "cache"
+.
+.IP "\(bu" 4
+Default: Windows: \fB~/npm\-cache\fR, Posix: \fB~/\.npm\fR
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The location of npm\'s cache directory\. See \fBnpm help cache\fR
+.
+.SS "color"
+.
+.IP "\(bu" 4
+Default: true on Posix, false on Windows
+.
+.IP "\(bu" 4
+Type: Boolean or \fB"always"\fR
+.
+.IP "" 0
+.
+.P
+If false, never shows colors\. If \fB"always"\fR then always shows colors\.
+If true, then only prints color codes for tty file descriptors\.
+.
+.SS "depth"
+.
+.IP "\(bu" 4
+Default: Infinity
+.
+.IP "\(bu" 4
+Type: Number
+.
+.IP "" 0
+.
+.P
+The depth to go when recursing directories for \fBnpm ls\fR and \fBnpm cache ls\fR\|\.
+.
+.SS "description"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Show the description in \fBnpm search\fR
+.
+.SS "dev"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Install \fBdev\-dependencies\fR along with packages\.
+.
+.P
+Note that \fBdev\-dependencies\fR are also installed if the \fBnpat\fR flag is
+set\.
+.
+.SS "editor"
+.
+.IP "\(bu" 4
+Default: \fBEDITOR\fR environment variable if set, or \fB"vi"\fR on Posix,
+or \fB"notepad"\fR on Windows\.
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The command to run for \fBnpm edit\fR or \fBnpm config edit\fR\|\.
+.
+.SS "force"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Makes various commands more forceful\.
+.
+.IP "\(bu" 4
+lifecycle script failure does not block progress\.
+.
+.IP "\(bu" 4
+publishing clobbers previously published versions\.
+.
+.IP "\(bu" 4
+skips cache when requesting from the registry\.
+.
+.IP "\(bu" 4
+prevents checks against clobbering non\-npm files\.
+.
+.IP "" 0
+.
+.SS "global"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Operates in "global" mode, so that packages are installed into the \fBprefix\fR folder instead of the current working directory\. See \fBnpm help folders\fR for more on the differences in behavior\.
+.
+.IP "\(bu" 4
+packages are installed into the \fBprefix/node_modules\fR folder, instead of the
+current working directory\.
+.
+.IP "\(bu" 4
+bin files are linked to \fBprefix/bin\fR
+.
+.IP "\(bu" 4
+man pages are linked to \fBprefix/share/man\fR
+.
+.IP "" 0
+.
+.SS "globalconfig"
+.
+.IP "\(bu" 4
+Default: {prefix}/etc/npmrc
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The config file to read for global config options\.
+.
+.SS "globalignorefile"
+.
+.IP "\(bu" 4
+Default: {prefix}/etc/npmignore
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The config file to read for global ignore patterns to apply to all users
+and all projects\.
+.
+.P
+If not found, but there is a "gitignore" file in the
+same directory, then that will be used instead\.
+.
+.SS "group"
+.
+.IP "\(bu" 4
+Default: GID of the current process
+.
+.IP "\(bu" 4
+Type: String or Number
+.
+.IP "" 0
+.
+.P
+The group to use when running package scripts in global mode as the root
+user\.
+.
+.SS "https\-proxy"
+.
+.IP "\(bu" 4
+Default: the \fBHTTPS_PROXY\fR or \fBhttps_proxy\fR or \fBHTTP_PROXY\fR or \fBhttp_proxy\fR environment variables\.
+.
+.IP "\(bu" 4
+Type: url
+.
+.IP "" 0
+.
+.P
+A proxy to use for outgoing https requests\.
+.
+.SS "ignore"
+.
+.IP "\(bu" 4
+Default: ""
+.
+.IP "\(bu" 4
+Type: string
+.
+.IP "" 0
+.
+.P
+A white\-space separated list of glob patterns of files to always exclude
+from packages when building tarballs\.
+.
+.SS "init\.version"
+.
+.IP "\(bu" 4
+Default: "0\.0\.0"
+.
+.IP "\(bu" 4
+Type: semver
+.
+.IP "" 0
+.
+.P
+The value \fBnpm init\fR should use by default for the package version\.
+.
+.SS "init\.author\.name"
+.
+.IP "\(bu" 4
+Default: "0\.0\.0"
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+The value \fBnpm init\fR should use by default for the package author\'s name\.
+.
+.SS "init\.author\.email"
+.
+.IP "\(bu" 4
+Default: ""
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+The value \fBnpm init\fR should use by default for the package author\'s email\.
+.
+.SS "init\.author\.url"
+.
+.IP "\(bu" 4
+Default: ""
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+The value \fBnpm init\fR should use by default for the package author\'s homepage\.
+.
+.SS "link"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+If true, then local installs will link if there is a suitable globally
+installed package\.
+.
+.P
+Note that this means that local installs can cause things to be
+installed into the global space at the same time\. The link is only done
+if one of the two conditions are met:
+.
+.IP "\(bu" 4
+The package is not already installed globally, or
+.
+.IP "\(bu" 4
+the globally installed version is identical to the version that is
+being installed locally\.
+.
+.IP "" 0
+.
+.SS "logfd"
+.
+.IP "\(bu" 4
+Default: stderr file descriptor
+.
+.IP "\(bu" 4
+Type: Number or Stream
+.
+.IP "" 0
+.
+.P
+The location to write log output\.
+.
+.SS "loglevel"
+.
+.IP "\(bu" 4
+Default: "warn"
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "\(bu" 4
+Values: "silent", "win", "error", "warn", "info", "verbose", "silly"
+.
+.IP "" 0
+.
+.P
+What level of logs to report\. On failure, \fIall\fR logs are written to \fBnpm\-debug\.log\fR in the current working directory\.
+.
+.SS "logprefix"
+.
+.IP "\(bu" 4
+Default: true on Posix, false on Windows
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Whether or not to prefix log messages with "npm" and the log level\. See
+also "color" and "loglevel"\.
+.
+.SS "long"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Show extended information in \fBnpm ls\fR
+.
+.SS "message"
+.
+.IP "\(bu" 4
+Default: "%s"
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+Commit message which is used by \fBnpm version\fR when creating version commit\.
+.
+.P
+Any "%s" in the message will be replaced with the version number\.
+.
+.SS "node\-version"
+.
+.IP "\(bu" 4
+Default: process\.version
+.
+.IP "\(bu" 4
+Type: semver or false
+.
+.IP "" 0
+.
+.P
+The node version to use when checking package\'s "engines" hash\.
+.
+.SS "npat"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Run tests on installation and report results to the \fBnpaturl\fR\|\.
+.
+.SS "npaturl"
+.
+.IP "\(bu" 4
+Default: Not yet implemented
+.
+.IP "\(bu" 4
+Type: url
+.
+.IP "" 0
+.
+.P
+The url to report npat test results\.
+.
+.SS "onload\-script"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+A node module to \fBrequire()\fR when npm loads\. Useful for programmatic
+usage\.
+.
+.SS "outfd"
+.
+.IP "\(bu" 4
+Default: standard output file descriptor
+.
+.IP "\(bu" 4
+Type: Number or Stream
+.
+.IP "" 0
+.
+.P
+Where to write "normal" output\. This has no effect on log output\.
+.
+.SS "parseable"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Output parseable results from commands that write to
+standard output\.
+.
+.SS "prefix"
+.
+.IP "\(bu" 4
+Default: node\'s process\.installPrefix
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The location to install global items\. If set on the command line, then
+it forces non\-global commands to run in the specified folder\.
+.
+.SS "production"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Set to true to run in "production" mode\.
+.
+.IP "1" 4
+devDependencies are not installed at the topmost level when running
+local \fBnpm install\fR without any arguments\.
+.
+.IP "2" 4
+Set the NODE_ENV="production" for lifecycle scripts\.
+.
+.IP "" 0
+.
+.SS "proxy"
+.
+.IP "\(bu" 4
+Default: \fBHTTP_PROXY\fR or \fBhttp_proxy\fR environment variable, or null
+.
+.IP "\(bu" 4
+Type: url
+.
+.IP "" 0
+.
+.P
+A proxy to use for outgoing http requests\.
+.
+.SS "rebuild\-bundle"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Rebuild bundled dependencies after installation\.
+.
+.SS "registry"
+.
+.IP "\(bu" 4
+Default: https://registry\.npmjs\.org/
+.
+.IP "\(bu" 4
+Type: url
+.
+.IP "" 0
+.
+.P
+The base URL of the npm package registry\.
+.
+.SS "rollback"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Remove failed installs\.
+.
+.SS "save"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Save installed packages to a package\.json file as dependencies\.
+.
+.P
+Only works if there is already a package\.json file present\.
+.
+.SS "searchopts"
+.
+.IP "\(bu" 4
+Default: ""
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+Space\-separated options that are always passed to search\.
+.
+.SS "searchexclude"
+.
+.IP "\(bu" 4
+Default: ""
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+Space\-separated options that limit the results from search\.
+.
+.SS "shell"
+.
+.IP "\(bu" 4
+Default: SHELL environment variable, or "bash" on Posix, or "cmd" on
+Windows
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The shell to run for the \fBnpm explore\fR command\.
+.
+.SS "strict\-ssl"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Whether or not to do SSL key validation when making requests to the
+registry via https\.
+.
+.P
+See also the \fBca\fR config\.
+.
+.SS "tag"
+.
+.IP "\(bu" 4
+Default: latest
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+If you ask npm to install a package and don\'t tell it a specific version, then
+it will install the specified tag\.
+.
+.P
+Also the tag that is added to the package@version specified by the \fBnpm
+tag\fR command, if no explicit tag is given\.
+.
+.SS "tmp"
+.
+.IP "\(bu" 4
+Default: TMPDIR environment variable, or "/tmp"
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+Where to store temporary files and folders\. All temp files are deleted
+on success, but left behind on failure for forensic purposes\.
+.
+.SS "unicode"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+When set to true, npm uses unicode characters in the tree output\. When
+false, it uses ascii characters to draw trees\.
+.
+.SS "unsafe\-perm"
+.
+.IP "\(bu" 4
+Default: false if running as root, true otherwise
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Set to true to suppress the UID/GID switching when running package
+scripts\. If set explicitly to false, then installing as a non\-root user
+will fail\.
+.
+.SS "usage"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Set to show short usage output (like the \-H output)
+instead of complete help when doing \fBnpm help help\fR\|\.
+.
+.SS "user"
+.
+.IP "\(bu" 4
+Default: "nobody"
+.
+.IP "\(bu" 4
+Type: String or Number
+.
+.IP "" 0
+.
+.P
+The UID to set to when running package scripts as root\.
+.
+.SS "username"
+.
+.IP "\(bu" 4
+Default: null
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+The username on the npm registry\. Set with \fBnpm adduser\fR
+.
+.SS "userconfig"
+.
+.IP "\(bu" 4
+Default: ~/\.npmrc
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The location of user\-level configuration settings\.
+.
+.SS "userignorefile"
+.
+.IP "\(bu" 4
+Default: ~/\.npmignore
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The location of a user\-level ignore file to apply to all packages\.
+.
+.P
+If not found, but there is a \.gitignore file in the same directory, then
+that will be used instead\.
+.
+.SS "umask"
+.
+.IP "\(bu" 4
+Default: 022
+.
+.IP "\(bu" 4
+Type: Octal numeric string
+.
+.IP "" 0
+.
+.P
+The "umask" value to use when setting the file creation mode on files
+and folders\.
+.
+.P
+Folders and executables are given a mode which is \fB0777\fR masked against
+this value\. Other files are given a mode which is \fB0666\fR masked against
+this value\. Thus, the defaults are \fB0755\fR and \fB0644\fR respectively\.
+.
+.SS "version"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: boolean
+.
+.IP "" 0
+.
+.P
+If true, output the npm version and exit successfully\.
+.
+.P
+Only relevant when specified explicitly on the command line\.
+.
+.SS "viewer"
+.
+.IP "\(bu" 4
+Default: "man" on Posix, "browser" on Windows
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The program to use to view help content\.
+.
+.P
+Set to \fB"browser"\fR to view html help content in the default web browser\.
+.
+.SS "yes"
+.
+.IP "\(bu" 4
+Default: null
+.
+.IP "\(bu" 4
+Type: Boolean or null
+.
+.IP "" 0
+.
+.P
+If set to \fBnull\fR, then prompt the user for responses in some
+circumstances\.
+.
+.P
+If set to \fBtrue\fR, then answer "yes" to any prompt\. If set to \fBfalse\fR
+then answer "no" to any prompt\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help npm
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/deprecate.1 b/deps/npm/man/man1/deprecate.1
new file mode 100644
index 0000000000..2ecb2f1b4a
--- /dev/null
+++ b/deps/npm/man/man1/deprecate.1
@@ -0,0 +1,45 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-DEPRECATE" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-deprecate\fR \-\- Deprecate a version of a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm deprecate <name>[@<version>] <message>
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command will update the npm registry entry for a package, providing
+a deprecation warning to all who attempt to install it\.
+.
+.P
+It works on version ranges as well as specific versions, so you can do
+something like this:
+.
+.IP "" 4
+.
+.nf
+npm deprecate my\-thing@"< 0\.2\.3" "critical bug fixed in v0\.2\.3"
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Note that you must be the package owner to deprecate something\. See the \fBowner\fR and \fBadduser\fR help topics\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help publish
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/developers.1 b/deps/npm/man/man1/developers.1
new file mode 100644
index 0000000000..b5fee925df
--- /dev/null
+++ b/deps/npm/man/man1/developers.1
@@ -0,0 +1,262 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-DEVELOPERS" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-developers\fR \-\- Developer Guide
+.
+.SH "DESCRIPTION"
+So, you\'ve decided to use npm to develop (and maybe publish/deploy)
+your project\.
+.
+.P
+Fantastic!
+.
+.P
+There are a few things that you need to do above the simple steps
+that your users will do to install your program\.
+.
+.SH "About These Documents"
+These are man pages\. If you install npm, you should be able to
+then do \fBman npm\-thing\fR to get the documentation on a particular
+topic, or \fBnpm help thing\fR to see the same information\.
+.
+.SH "What is a `package`"
+A package is:
+.
+.IP "\(bu" 4
+a) a folder containing a program described by a package\.json file
+.
+.IP "\(bu" 4
+b) a gzipped tarball containing (a)
+.
+.IP "\(bu" 4
+c) a url that resolves to (b)
+.
+.IP "\(bu" 4
+d) a \fB<name>@<version>\fR that is published on the registry with (c)
+.
+.IP "\(bu" 4
+e) a \fB<name>@<tag>\fR that points to (d)
+.
+.IP "\(bu" 4
+f) a \fB<name>\fR that has a "latest" tag satisfying (e)
+.
+.IP "" 0
+.
+.P
+Even if you never publish your package, you can still get a lot of
+benefits of using npm if you just want to write a node program (a), and
+perhaps if you also want to be able to easily install it elsewhere
+after packing it up into a tarball (b)\.
+.
+.SH "The package\.json File"
+You need to have a \fBpackage\.json\fR file in the root of your project to do
+much of anything with npm\. That is basically the whole interface\.
+.
+.P
+See \fBnpm help json\fR for details about what goes in that file\. At the very
+least, you need:
+.
+.IP "\(bu" 4
+name:
+This should be a string that identifies your project\. Please do not
+use the name to specify that it runs on node, or is in JavaScript\.
+You can use the "engines" field to explicitly state the versions of
+node (or whatever else) that your program requires, and it\'s pretty
+well assumed that it\'s javascript\.
+.
+.IP
+It does not necessarily need to match your github repository name\.
+.
+.IP
+So, \fBnode\-foo\fR and \fBbar\-js\fR are bad names\. \fBfoo\fR or \fBbar\fR are better\.
+.
+.IP "\(bu" 4
+version:
+A semver\-compatible version\.
+.
+.IP "\(bu" 4
+engines:
+Specify the versions of node (or whatever else) that your program
+runs on\. The node API changes a lot, and there may be bugs or new
+functionality that you depend on\. Be explicit\.
+.
+.IP "\(bu" 4
+author:
+Take some credit\.
+.
+.IP "\(bu" 4
+scripts:
+If you have a special compilation or installation script, then you
+should put it in the \fBscripts\fR hash\. You should definitely have at
+least a basic smoke\-test command as the "scripts\.test" field\.
+See npm help scripts\.
+.
+.IP "\(bu" 4
+main:
+If you have a single module that serves as the entry point to your
+program (like what the "foo" package gives you at require("foo")),
+then you need to specify that in the "main" field\.
+.
+.IP "\(bu" 4
+directories:
+This is a hash of folders\. The best ones to include are "lib" and
+"doc", but if you specify a folder full of man pages in "man", then
+they\'ll get installed just like these ones\.
+.
+.IP "" 0
+.
+.P
+You can use \fBnpm init\fR in the root of your package in order to get you
+started with a pretty basic package\.json file\. See \fBnpm help init\fR for
+more info\.
+.
+.SH "Keeping files *out* of your package"
+Use a \fB\|\.npmignore\fR file to keep stuff out of your package\. If there\'s
+no \.npmignore file, but there \fIis\fR a \.gitignore file, then npm will
+ignore the stuff matched by the \.gitignore file\. If you \fIwant\fR to
+include something that is excluded by your \.gitignore file, you can
+create an empty \.npmignore file to override it\.
+.
+.SH "Link Packages"
+\fBnpm link\fR is designed to install a development package and see the
+changes in real time without having to keep re\-installing it\. (You do
+need to either re\-link or \fBnpm rebuild \-g\fR to update compiled packages,
+of course\.)
+.
+.P
+More info at \fBnpm help link\fR\|\.
+.
+.SH "Before Publishing: Make Sure Your Package Installs and Works"
+\fBThis is important\.\fR
+.
+.P
+If you can not install it locally, you\'ll have
+problems trying to publish it\. Or, worse yet, you\'ll be able to
+publish it, but you\'ll be publishing a broken or pointless package\.
+So don\'t do that\.
+.
+.P
+In the root of your package, do this:
+.
+.IP "" 4
+.
+.nf
+npm install \. \-g
+.
+.fi
+.
+.IP "" 0
+.
+.P
+That\'ll show you that it\'s working\. If you\'d rather just create a symlink
+package that points to your working directory, then do this:
+.
+.IP "" 4
+.
+.nf
+npm link
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Use \fBnpm ls \-g\fR to see if it\'s there\.
+.
+.P
+To test a local install, go into some other folder, and then do:
+.
+.IP "" 4
+.
+.nf
+cd \.\./some\-other\-folder
+npm install \.\./my\-package
+.
+.fi
+.
+.IP "" 0
+.
+.P
+to install it locally into the node_modules folder in that other place\.
+.
+.P
+Then go into the node\-repl, and try using require("my\-thing") to
+bring in your module\'s main module\.
+.
+.SH "Create a User Account"
+Create a user with the adduser command\. It works like this:
+.
+.IP "" 4
+.
+.nf
+npm adduser
+.
+.fi
+.
+.IP "" 0
+.
+.P
+and then follow the prompts\.
+.
+.P
+This is documented better in npm help adduser\.
+.
+.SH "Publish your package"
+This part\'s easy\. IN the root of your folder, do this:
+.
+.IP "" 4
+.
+.nf
+npm publish
+.
+.fi
+.
+.IP "" 0
+.
+.P
+You can give publish a url to a tarball, or a filename of a tarball,
+or a path to a folder\.
+.
+.P
+Note that pretty much \fBeverything in that folder will be exposed\fR
+by default\. So, if you have secret stuff in there, use a \fB\|\.npminclude\fR
+or \fB\|\.npmignore\fR file to list out the globs to include/ignore, or publish
+from a fresh checkout\.
+.
+.SH "Brag about it"
+Send emails, write blogs, blab in IRC\.
+.
+.P
+Tell the world how easy it is to install your program!
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help faq
+.
+.IP "\(bu" 4
+npm help npm
+.
+.IP "\(bu" 4
+npm help init
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "\(bu" 4
+npm help scripts
+.
+.IP "\(bu" 4
+npm help publish
+.
+.IP "\(bu" 4
+npm help adduser
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/docs.1 b/deps/npm/man/man1/docs.1
new file mode 100644
index 0000000000..c63dd3cd9c
--- /dev/null
+++ b/deps/npm/man/man1/docs.1
@@ -0,0 +1,68 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-DOCS" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-docs\fR \-\- Docs for a package in a web browser maybe
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm docs <pkgname>
+npm home <pkgname>
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command tries to guess at the likely location of a package\'s
+documentation URL, and then tries to open it using the \fB\-\-browser\fR
+config param\.
+.
+.SH "CONFIGURATION"
+.
+.SS "browser"
+.
+.IP "\(bu" 4
+Default: OS X: \fB"open"\fR, others: \fB"google\-chrome"\fR
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+The browser that is called by the \fBnpm docs\fR command to open websites\.
+.
+.SS "registry"
+.
+.IP "\(bu" 4
+Default: https://registry\.npmjs\.org/
+.
+.IP "\(bu" 4
+Type: url
+.
+.IP "" 0
+.
+.P
+The base URL of the npm package registry\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help view
+.
+.IP "\(bu" 4
+npm help publish
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/edit.1 b/deps/npm/man/man1/edit.1
new file mode 100644
index 0000000000..63d20a1fa6
--- /dev/null
+++ b/deps/npm/man/man1/edit.1
@@ -0,0 +1,60 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-EDIT" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-edit\fR \-\- Edit an installed package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm edit <name>[@<version>]
+.
+.fi
+.
+.SH "DESCRIPTION"
+Opens the package folder in the default editor (or whatever you\'ve
+configured as the npm \fBeditor\fR config \-\- see \fBnpm help config\fR\|\.)
+.
+.P
+After it has been edited, the package is rebuilt so as to pick up any
+changes in compiled packages\.
+.
+.P
+For instance, you can do \fBnpm install connect\fR to install connect
+into your package, and then \fBnpm edit connect\fR to make a few
+changes to your locally installed copy\.
+.
+.SH "CONFIGURATION"
+.
+.SS "editor"
+.
+.IP "\(bu" 4
+Default: \fBEDITOR\fR environment variable if set, or \fB"vi"\fR on Posix,
+or \fB"notepad"\fR on Windows\.
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The command to run for \fBnpm edit\fR or \fBnpm config edit\fR\|\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help explore
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/explore.1 b/deps/npm/man/man1/explore.1
new file mode 100644
index 0000000000..2410f6ab34
--- /dev/null
+++ b/deps/npm/man/man1/explore.1
@@ -0,0 +1,76 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-EXPLORE" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-explore\fR \-\- Browse an installed package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm explore <name>[@<version>] [ \-\- <cmd>]
+.
+.fi
+.
+.SH "DESCRIPTION"
+Spawn a subshell in the directory of the installed package specified\.
+.
+.P
+If a command is specified, then it is run in the subshell, which then
+immediately terminates\.
+.
+.P
+This is particularly handy in the case of git submodules in the \fBnode_modules\fR folder:
+.
+.IP "" 4
+.
+.nf
+npm explore some\-dependency \-\- git pull origin master
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Note that the package is \fInot\fR automatically rebuilt afterwards, so be
+sure to use \fBnpm rebuild <pkg>\fR if you make any changes\.
+.
+.SH "CONFIGURATION"
+.
+.SS "shell"
+.
+.IP "\(bu" 4
+Default: SHELL environment variable, or "bash" on Posix, or "cmd" on
+Windows
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The shell to run for the \fBnpm explore\fR command\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help submodule
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help edit
+.
+.IP "\(bu" 4
+npm help rebuild
+.
+.IP "\(bu" 4
+npm help build
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/faq.1 b/deps/npm/man/man1/faq.1
new file mode 100644
index 0000000000..2c3977eabe
--- /dev/null
+++ b/deps/npm/man/man1/faq.1
@@ -0,0 +1,308 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-FAQ" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-faq\fR \-\- Frequently Asked Questions
+.
+.SH "Where can I find these docs in HTML?"
+\fIhttp://npmjs\.org/doc/\fR, or run:
+.
+.IP "" 4
+.
+.nf
+npm config set viewer browser
+.
+.fi
+.
+.IP "" 0
+.
+.P
+to open these documents in your default web browser rather than \fBman\fR\|\.
+.
+.SH "It didn\'t work\."
+That\'s not really a question\.
+.
+.SH "Why didn\'t it work?"
+I don\'t know yet\.
+.
+.P
+Read the error output, and if you can\'t figure out what it means,
+do what it says and post a bug with all the information it asks for\.
+.
+.SH "Where does npm put stuff?"
+See \fBnpm help folders\fR
+.
+.P
+tl;dr:
+.
+.IP "\(bu" 4
+Use the \fBnpm root\fR command to see where modules go, and the \fBnpm bin\fR
+command to see where executables go
+.
+.IP "\(bu" 4
+Global installs are different from local installs\. If you install
+something with the \fB\-g\fR flag, then its executables go in \fBnpm bin \-g\fR
+and its modules go in \fBnpm root \-g\fR\|\.
+.
+.IP "" 0
+.
+.SH "How do I install something everywhere?"
+Install it globally by tacking \fB\-g\fR or \fB\-\-global\fR to the command\.
+.
+.SH "I installed something globally, but I can\'t `require()` it"
+Install it locally\.
+.
+.SH "I don\'t wanna\."
+Check out \fBnpm link\fR\|\. You might like it\.
+.
+.SH "No, I really want 0\.x style \'everything global\' style\."
+Ok, fine\. Do this:
+.
+.IP "" 4
+.
+.nf
+echo \'export NODE_PATH="\'$(npm root \-g)\'"\' >> ~/\.bashrc
+\|\. ~/\.bashrc
+npm config set global true
+.
+.fi
+.
+.IP "" 0
+.
+.P
+This is not recommended\.
+.
+.P
+Many things \fBwill not work\fR if you do this\. Make sure you read and
+understand \fBnpm help config\fR and \fBnpm help global\fR before you complain
+about things being broken\.
+.
+.P
+When you realize what a mistake it was, do this to switch back:
+.
+.IP "" 4
+.
+.nf
+npm config delete global \-\-local
+.
+.fi
+.
+.IP "" 0
+.
+.SH "If \'npm\' is an acronym, why is it never capitalized?"
+Contrary to the belief of many, "npm" is not in fact an abbreviation for
+"Node Package Manager"\. It is a recursive bacronymic abbreviation for
+"npm is not an acronym"\. (If it was "ninaa", then it would be an
+acronym, and thus incorrectly named\.)
+.
+.P
+"NPM", however, \fIis\fR an acronym (more precisely, a capitonym) for the
+National Association of Pastoral Musicians\. You can learn more
+about them at \fIhttp://npm\.org/\fR\|\.
+.
+.P
+In software, "NPM" is a non\-parametric mapping utility written by
+Chris Rorden\. You can analyze pictures of brains with it\. Learn more
+about the (capitalized) NPM program at \fIhttp://www\.cabiatl\.com/mricro/npm/\fR\|\.
+.
+.P
+The first seed that eventually grew into this flower was a bash utility
+named "pm", which was a shortened descendent of "pkgmakeinst", a
+bash function that was used to install various different things on different
+platforms, most often using Yahoo\'s \fByinst\fR\|\. If \fBnpm\fR was ever an
+acronym for anything, it was \fBnode pm\fR or maybe \fBnew pm\fR\|\.
+.
+.P
+So, in all seriousness, the "npm" project is named after its command\-line
+utility, which was organically selected to be easily typed by a right\-handed
+programmer using a US QWERTY keyboard layout, ending with the
+right\-ring\-finger in a postition to type the \fB\-\fR key for flags and
+other command\-line arguments\. That command\-line utility is always
+lower\-case, though it starts most sentences it is a part of\.
+.
+.SH "How do I list installed packages?"
+\fBnpm ls\fR
+.
+.SH "How do I search for packages?"
+\fBnpm search\fR
+.
+.P
+Arguments are greps\. \fBnpm search jsdom\fR shows jsdom packages\.
+.
+.SH "How do I update npm?"
+.
+.nf
+npm update npm \-g
+.
+.fi
+.
+.P
+You can also update all outdated local packages by doing \fBnpm update\fR without
+any arguments, or global packages by doing \fBnpm update \-g\fR\|\.
+.
+.P
+Occasionally, the version of npm will progress such that the current
+version cannot be properly installed with the version that you have
+installed already\. (Consider, if there is ever a bug in the \fBupdate\fR
+command\.)
+.
+.P
+In those cases, you can do this:
+.
+.IP "" 4
+.
+.nf
+curl http://npmjs\.org/install\.sh | sh
+.
+.fi
+.
+.IP "" 0
+.
+.SH "What is a `package`?"
+A package is:
+.
+.IP "\(bu" 4
+a) a folder containing a program described by a package\.json file
+.
+.IP "\(bu" 4
+b) a gzipped tarball containing (a)
+.
+.IP "\(bu" 4
+c) a url that resolves to (b)
+.
+.IP "\(bu" 4
+d) a \fB<name>@<version>\fR that is published on the registry with (c)
+.
+.IP "\(bu" 4
+e) a \fB<name>@<tag>\fR that points to (d)
+.
+.IP "\(bu" 4
+f) a \fB<name>\fR that has a "latest" tag satisfying (e)
+.
+.IP "\(bu" 4
+g) a \fBgit\fR url that, when cloned, results in (a)\.
+.
+.IP "" 0
+.
+.P
+Even if you never publish your package, you can still get a lot of
+benefits of using npm if you just want to write a node program (a), and
+perhaps if you also want to be able to easily install it elsewhere
+after packing it up into a tarball (b)\.
+.
+.P
+Git urls can be of the form:
+.
+.IP "" 4
+.
+.nf
+git://github\.com/user/project\.git#commit\-ish
+git+ssh://user@hostname:project\.git#commit\-ish
+git+http://user@hostname/project/blah\.git#commit\-ish
+git+https://user@hostname/project/blah\.git#commit\-ish
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The \fBcommit\-ish\fR can be any tag, sha, or branch which can be supplied as
+an argument to \fBgit checkout\fR\|\. The default is \fBmaster\fR\|\.
+.
+.SH "How do I install node with npm?"
+You don\'t\. Try one of these:
+.
+.IP "\(bu" 4
+\fIhttp://github\.com/isaacs/nave\fR
+.
+.IP "\(bu" 4
+\fIhttp://github\.com/visionmedia/n\fR
+.
+.IP "\(bu" 4
+\fIhttp://github\.com/creationix/nvm\fR
+.
+.IP "" 0
+.
+.SH "How can I use npm for development?"
+See \fBnpm help developers\fR and \fBnpm help json\fR\|\.
+.
+.P
+You\'ll most likely want to \fBnpm link\fR your development folder\. That\'s
+awesomely handy\.
+.
+.P
+To set up your own private registry, check out \fBnpm help registry\fR\|\.
+.
+.SH "Can I list a url as a dependency?"
+Yes\. It should be a url to a gzipped tarball containing a single folder
+that has a package\.json in its root, or a git url\.
+(See "what is a package?" above\.)
+.
+.SH "How do I symlink to a dev folder so I don\'t have to keep re\-installing?"
+See \fBnpm help link\fR
+.
+.SH "The package registry website\. What is that exactly?"
+See \fBnpm help registry\fR\|\.
+.
+.SH "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\.
+.
+.SH "I forgot my password, and can\'t publish\. How do I reset it?"
+Go to \fIhttp://admin\.npmjs\.org/reset\fR\|\.
+.
+.SH "I get ECONNREFUSED a lot\. What\'s up?"
+Either the registry is down, or node\'s DNS isn\'t able to reach out\.
+This happens a lot if you don\'t follow \fIall\fR the steps in the Cygwin
+setup doc\.
+.
+.P
+To check if the registry is down, open up \fIhttp://registry\.npmjs\.org/\-/short\fR
+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\.
+.
+.SH "Who does npm?"
+\fBnpm view npm author\fR
+.
+.P
+\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
+.
+.IP "\(bu" 4
+\fIhttp://github\.com/isaacs/npm/issues\fR
+.
+.IP "" 0
+.
+.SH "Why does npm hate me?"
+npm is not capable of hatred\. It loves everyone, especially you\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help npm
+.
+.IP "\(bu" 4
+npm help developers
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/find.1 b/deps/npm/man/man1/find.1
new file mode 100644
index 0000000000..653597ffa8
--- /dev/null
+++ b/deps/npm/man/man1/find.1
@@ -0,0 +1,72 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-SEARCH" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-search\fR \-\- Search for packages
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm search [search terms \.\.\.]
+.
+.fi
+.
+.SH "DESCRIPTION"
+Search the registry for packages matching the search terms\.
+.
+.SH "CONFIGURATION"
+.
+.SS "description"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Show the description in \fBnpm search\fR
+.
+.SS "searchopts"
+.
+.IP "\(bu" 4
+Default: ""
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+Space\-separated options that are always passed to search\.
+.
+.SS "searchexclude"
+.
+.IP "\(bu" 4
+Default: ""
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+Space\-separated options that limit the results from search\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help view
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/folders.1 b/deps/npm/man/man1/folders.1
new file mode 100644
index 0000000000..070d40c4c4
--- /dev/null
+++ b/deps/npm/man/man1/folders.1
@@ -0,0 +1,259 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-FOLDERS" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-folders\fR \-\- Folder Structures Used by npm
+.
+.SH "DESCRIPTION"
+npm puts various things on your computer\. That\'s its job\.
+.
+.P
+This document will tell you what it puts where\.
+.
+.SS "tl;dr"
+.
+.IP "\(bu" 4
+Local install (default): puts stuff in \fB\|\./node_modules\fR of the current
+package root\.
+.
+.IP "\(bu" 4
+Global install (with \fB\-g\fR): puts stuff in /usr/local or wherever node
+is installed\.
+.
+.IP "\(bu" 4
+Install it \fBlocally\fR if you\'re going to \fBrequire()\fR it\.
+.
+.IP "\(bu" 4
+Install it \fBglobally\fR if you\'re going to run it on the command line\.
+.
+.IP "\(bu" 4
+If you need both, then install it in both places, or use \fBnpm link\fR\|\.
+.
+.IP "" 0
+.
+.SS "prefix Configuration"
+The \fBprefix\fR config defaults to the location where node is installed\.
+On most systems, this is \fB/usr/local\fR, and most of the time is the same
+as node\'s \fBprocess\.installPrefix\fR\|\.
+.
+.P
+On windows, this is the exact location of the node\.exe binary\. On Unix
+systems, it\'s one level up, since node is typically installed at \fB{prefix}/bin/node\fR rather than \fB{prefix}/node\.exe\fR\|\.
+.
+.P
+When the \fBglobal\fR flag is set, npm installs things into this prefix\.
+When it is not set, it uses the root of the current package, or the
+current working directory if not in a package already\.
+.
+.SS "Node Modules"
+Packages are dropped into the \fBnode_modules\fR folder under the \fBprefix\fR\|\.
+When installing locally, this means that you can \fBrequire("packagename")\fR to load its main module, or \fBrequire("packagename/lib/path/to/sub/module")\fR to load other modules\.
+.
+.P
+Global installs on Unix systems go to \fB{prefix}/lib/node_modules\fR\|\.
+Global installs on Windows go to \fB{prefix}/node_modules\fR (that is, no \fBlib\fR folder\.)
+.
+.P
+If you wish to \fBrequire()\fR a package, then install it locally\.
+.
+.SS "Executables"
+When in global mode, executables are linked into \fB{prefix}/bin\fR on Unix,
+or directly into \fB{prefix}\fR on Windows\.
+.
+.P
+When in local mode, executables are linked into \fB\|\./node_modules/\.bin\fR so that they can be made available to scripts run
+through npm\. (For example, so that a test runner will be in the path
+when you run \fBnpm test\fR\|\.)
+.
+.SS "Man Pages"
+When in global mode, man pages are linked into \fB{prefix}/share/man\fR\|\.
+.
+.P
+When in local mode, man pages are not installed\.
+.
+.P
+Man pages are not installed on Windows systems\.
+.
+.SS "Cache"
+See \fBnpm help cache\fR\|\. Cache files are stored in \fB~/\.npm\fR on Posix, or \fB~/npm\-cache\fR on Windows\.
+.
+.P
+This is controlled by the \fBcache\fR configuration param\.
+.
+.SS "Temp Files"
+Temporary files are stored by default in the folder specified by the \fBtmp\fR config, which defaults to the TMPDIR, TMP, or TEMP environment
+variables, or \fB/tmp\fR on Unix and \fBc:\\windows\\temp\fR on Windows\.
+.
+.P
+Temp files are given a unique folder under this root for each run of the
+program, and are deleted upon successful exit\.
+.
+.SH "More Information"
+When installing locally, npm first tries to find an appropriate \fBprefix\fR folder\. This is so that \fBnpm install foo@1\.2\.3\fR will install
+to the sensible root of your package, even if you happen to have \fBcd\fRed
+into some other folder\.
+.
+.P
+Starting at the $PWD, npm will walk up the folder tree checking for a
+folder that contains either a \fBpackage\.json\fR file, or a \fBnode_modules\fR
+folder\. If such a thing is found, then that is treated as the effective
+"current directory" for the purpose of running npm commands\. (This
+behavior is inspired by and similar to git\'s \.git\-folder seeking
+logic when running git commands in a working dir\.)
+.
+.P
+If no package root is found, then the current folder is used\.
+.
+.P
+When you run \fBnpm install foo@1\.2\.3\fR, then the package is loaded into
+the cache, and then unpacked into \fB\|\./node_modules/foo\fR\|\. Then, any of
+foo\'s dependencies are similarly unpacked into \fB\|\./node_modules/foo/node_modules/\.\.\.\fR\|\.
+.
+.P
+Any bin files are symlinked to \fB\|\./node_modules/\.bin/\fR, so that they may
+be found by npm scripts when necessary\.
+.
+.SS "Global Installation"
+If the \fBglobal\fR configuration is set to true, then npm will
+install packages "globally"\.
+.
+.P
+For global installation, packages are installed roughly the same way,
+but using the folders described above\.
+.
+.SS "Cycles, Conflicts, and Folder Parsimony"
+Cycles are handled using the property of node\'s module system that it
+walks up the directories looking for \fBnode_modules\fR folders\. So, at every
+stage, if a package is already installed in an ancestor \fBnode_modules\fR
+folder, then it is not installed at the current location\.
+.
+.P
+Consider the case above, where \fBfoo \-> bar \-> baz\fR\|\. Imagine if, in
+addition to that, baz depended on bar, so you\'d have: \fBfoo \-> bar \-> baz \-> bar \-> baz \.\.\.\fR\|\. However, since the folder
+structure is: \fBfoo/node_modules/bar/node_modules/baz\fR, there\'s no need to
+put another copy of bar into \fB\|\.\.\./baz/node_modules\fR, since when it calls
+require("bar"), it will get the copy that is installed in \fBfoo/node_modules/bar\fR\|\.
+.
+.P
+This shortcut is only used if the exact same
+version would be installed in multiple nested \fBnode_modules\fR folders\. It
+is still possible to have \fBa/node_modules/b/node_modules/a\fR if the two
+"a" packages are different versions\. However, without repeating the
+exact same package multiple times, an infinite regress will always be
+prevented\.
+.
+.P
+Another optimization can be made by installing dependencies at the
+highest level possible, below the localized "target" folder\.
+.
+.TP
+Example
+.Consider this dependency graph:
+.
+.IP "" 4
+.
+.nf
+foo
++\-\- blerg@1\.2\.5
++\-\- bar@1\.2\.3
+| +\-\- blerg@1\.x (latest=1\.3\.7)
+| +\-\- baz@2\.x
+| | `\-\- quux@3\.x
+| | `\-\- bar@1\.2\.3 (cycle)
+| `\-\- asdf@*
+`\-\- baz@1\.2\.3
+ `\-\- quux@3\.x
+ `\-\- bar
+.
+.fi
+.
+.IP "" 0
+.
+.P
+In this case, we might expect a folder structure like this:
+.
+.IP "" 4
+.
+.nf
+foo
++\-\- node_modules
+ +\-\- blerg (1\.2\.5) <\-\-\-[A]
+ +\-\- bar (1\.2\.3) <\-\-\-[B]
+ | +\-\- node_modules
+ | | `\-\- baz (2\.0\.2) <\-\-\-[C]
+ | | `\-\- node_modules
+ | | `\-\- quux (3\.2\.0)
+ | `\-\- asdf (2\.3\.4)
+ `\-\- baz (1\.2\.3) <\-\-\-[D]
+ `\-\- node_modules
+ `\-\- quux (3\.2\.0) <\-\-\-[E]
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Since foo depends directly on bar@1\.2\.3 and baz@1\.2\.3, those are
+installed in foo\'s \fBnode_modules\fR folder\.
+.
+.P
+Even though the latest copy of blerg is 1\.3\.7, foo has a specific
+dependency on version 1\.2\.5\. So, that gets installed at [A]\. Since the
+parent installation of blerg satisfie\'s bar\'s dependency on blerg@1\.x,
+it does not install another copy under [B]\.
+.
+.P
+Bar [B] also has dependencies on baz and asdf, so those are installed in
+bar\'s \fBnode_modules\fR folder\. Because it depends on \fBbaz@2\.x\fR, it cannot
+re\-use the \fBbaz@1\.2\.3\fR installed in the parent \fBnode_modules\fR folder [D],
+and must install its own copy [C]\.
+.
+.P
+Underneath bar, the \fBbaz\->quux\->bar\fR dependency creates a cycle\.
+However, because \fBbar\fR is already in \fBquux\fR\'s ancestry [B], it does not
+unpack another copy of bar into that folder\.
+.
+.P
+Underneath \fBfoo\->baz\fR [D], quux\'s [E] folder tree is empty, because its
+dependency on bar is satisfied by the parent folder copy installed at [B]\.
+.
+.P
+For a graphical breakdown of what is installed where, use \fBnpm ls\fR\|\.
+.
+.SS "Publishing"
+Upon publishing, npm will look in the \fBnode_modules\fR folder\. If any of
+the items there are not in the \fBbundledDependencies\fR array, then they will
+not be included in the package tarball\.
+.
+.P
+This allows a package maintainer to install all of their dependencies
+(and dev dependencies) locally, but only re\-publish those items that
+cannot be found elsewhere\. See \fBnpm help json\fR for more information\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help faq
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "\(bu" 4
+npm help pack
+.
+.IP "\(bu" 4
+npm help cache
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help publish
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/get.1 b/deps/npm/man/man1/get.1
new file mode 100644
index 0000000000..5075c9f0cc
--- /dev/null
+++ b/deps/npm/man/man1/get.1
@@ -0,0 +1,1154 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-CONFIG" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-config\fR \-\- Manage the npm configuration file
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm config set <key> <value> [\-\-global]
+npm config get <key>
+npm config delete <key>
+npm config list
+npm config edit
+npm get <key>
+npm set <key> <value> [\-\-global]
+.
+.fi
+.
+.SH "DESCRIPTION"
+npm gets its configuration values from 6 sources, in this priority:
+.
+.SS "Command Line Flags"
+Putting \fB\-\-foo bar\fR on the command line sets the \fBfoo\fR configuration parameter to \fB"bar"\fR\|\. A \fB\-\-\fR argument tells the cli
+parser to stop reading flags\. A \fB\-\-flag\fR parameter that is at the \fIend\fR of
+the command will be given the value of \fBtrue\fR\|\.
+.
+.SS "Environment Variables"
+Any environment variables that start with \fBnpm_config_\fR will be interpreted
+as a configuration parameter\. For example, putting \fBnpm_config_foo=bar\fR in
+your environment will set the \fBfoo\fR configuration parameter to \fBbar\fR\|\. Any
+environment configurations that are not given a value will be given the value
+of \fBtrue\fR\|\. Config values are case\-insensitive, so \fBNPM_CONFIG_FOO=bar\fR will
+work the same\.
+.
+.SS "Per\-user config file"
+\fB$HOME/\.npmrc\fR (or the \fBuserconfig\fR param, if set above)
+.
+.P
+This file is an ini\-file formatted list of \fBkey = value\fR parameters\.
+.
+.SS "Global config file"
+\fB$PREFIX/etc/npmrc\fR (or the \fBglobalconfig\fR param, if set above):
+This file is an ini\-file formatted list of \fBkey = value\fR parameters
+.
+.SS "Built\-in config file"
+\fBpath/to/npm/itself/npmrc\fR
+.
+.P
+This is an unchangeable "builtin"
+configuration file that npm keeps consistent across updates\. Set
+fields in here using the \fB\|\./configure\fR script that comes with npm\.
+This is primarily for distribution maintainers to override default
+configs in a standard and consistent manner\.
+.
+.SS "Default Configs"
+A set of configuration parameters that are internal to npm, and are
+defaults if nothing else is specified\.
+.
+.SH "Sub\-commands"
+Config supports the following sub\-commands:
+.
+.SS "set"
+.
+.nf
+npm config set key value
+.
+.fi
+.
+.P
+Sets the config key to the value\.
+.
+.P
+If value is omitted, then it sets it to "true"\.
+.
+.SS "get"
+.
+.nf
+npm config get key
+.
+.fi
+.
+.P
+Echo the config value to stdout\.
+.
+.SS "list"
+.
+.nf
+npm config list
+.
+.fi
+.
+.P
+Show all the config settings\.
+.
+.SS "delete"
+.
+.nf
+npm config delete key
+.
+.fi
+.
+.P
+Deletes the key from all configuration files\.
+.
+.SS "edit"
+.
+.nf
+npm config edit
+.
+.fi
+.
+.P
+Opens the config file in an editor\. Use the \fB\-\-global\fR flag to edit the
+global config\.
+.
+.SH "Shorthands and Other CLI Niceties"
+The following shorthands are parsed on the command\-line:
+.
+.IP "\(bu" 4
+\fB\-v\fR: \fB\-\-version\fR
+.
+.IP "\(bu" 4
+\fB\-h\fR, \fB\-?\fR, \fB\-\-help\fR, \fB\-H\fR: \fB\-\-usage\fR
+.
+.IP "\(bu" 4
+\fB\-s\fR, \fB\-\-silent\fR: \fB\-\-loglevel silent\fR
+.
+.IP "\(bu" 4
+\fB\-d\fR: \fB\-\-loglevel info\fR
+.
+.IP "\(bu" 4
+\fB\-dd\fR, \fB\-\-verbose\fR: \fB\-\-loglevel verbose\fR
+.
+.IP "\(bu" 4
+\fB\-ddd\fR: \fB\-\-loglevel silly\fR
+.
+.IP "\(bu" 4
+\fB\-g\fR: \fB\-\-global\fR
+.
+.IP "\(bu" 4
+\fB\-l\fR: \fB\-\-long\fR
+.
+.IP "\(bu" 4
+\fB\-m\fR: \fB\-\-message\fR
+.
+.IP "\(bu" 4
+\fB\-p\fR, \fB\-\-porcelain\fR: \fB\-\-parseable\fR
+.
+.IP "\(bu" 4
+\fB\-reg\fR: \fB\-\-registry\fR
+.
+.IP "\(bu" 4
+\fB\-v\fR: \fB\-\-version\fR
+.
+.IP "\(bu" 4
+\fB\-f\fR: \fB\-\-force\fR
+.
+.IP "\(bu" 4
+\fB\-l\fR: \fB\-\-long\fR
+.
+.IP "\(bu" 4
+\fB\-desc\fR: \fB\-\-description\fR
+.
+.IP "\(bu" 4
+\fB\-S\fR: \fB\-\-save\fR
+.
+.IP "\(bu" 4
+\fB\-y\fR: \fB\-\-yes\fR
+.
+.IP "\(bu" 4
+\fB\-n\fR: \fB\-\-yes false\fR
+.
+.IP "\(bu" 4
+\fBll\fR and \fBla\fR commands: \fBls \-\-long\fR
+.
+.IP "" 0
+.
+.P
+If the specified configuration param resolves unambiguously to a known
+configuration parameter, then it is expanded to that configuration
+parameter\. For example:
+.
+.IP "" 4
+.
+.nf
+npm ls \-\-par
+# same as:
+npm ls \-\-parseable
+.
+.fi
+.
+.IP "" 0
+.
+.P
+If multiple single\-character shorthands are strung together, and the
+resulting combination is unambiguously not some other configuration
+param, then it is expanded to its various component pieces\. For
+example:
+.
+.IP "" 4
+.
+.nf
+npm ls \-gpld
+# same as:
+npm ls \-\-global \-\-parseable \-\-long \-\-loglevel info
+.
+.fi
+.
+.IP "" 0
+.
+.SH "Per\-Package Config Settings"
+When running scripts (see \fBnpm help scripts\fR)
+the package\.json "config" keys are overwritten in the environment if
+there is a config param of \fB<name>[@<version>]:<key>\fR\|\. For example, if
+the package\.json has this:
+.
+.IP "" 4
+.
+.nf
+{ "name" : "foo"
+, "config" : { "port" : "8080" }
+, "scripts" : { "start" : "node server\.js" } }
+.
+.fi
+.
+.IP "" 0
+.
+.P
+and the server\.js is this:
+.
+.IP "" 4
+.
+.nf
+http\.createServer(\.\.\.)\.listen(process\.env\.npm_package_config_port)
+.
+.fi
+.
+.IP "" 0
+.
+.P
+then the user could change the behavior by doing:
+.
+.IP "" 4
+.
+.nf
+npm config set foo:port 80
+.
+.fi
+.
+.IP "" 0
+.
+.SH "Config Settings"
+.
+.SS "always\-auth"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Force npm to always require authentication when accessing the registry,
+even for \fBGET\fR requests\.
+.
+.SS "bin\-publish"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+If set to true, then binary packages will be created on publish\.
+.
+.P
+This is the way to opt into the "bindist" behavior described below\.
+.
+.SS "bindist"
+.
+.IP "\(bu" 4
+Default: Unstable node versions, \fBnull\fR, otherwise \fB"<node version>\-<platform>\-<os release>"\fR
+.
+.IP "\(bu" 4
+Type: String or \fBnull\fR
+.
+.IP "" 0
+.
+.P
+Experimental: on stable versions of node, binary distributions will be
+created with this tag\. If a user then installs that package, and their \fBbindist\fR tag is found in the list of binary distributions, they will
+get that prebuilt version\.
+.
+.P
+Pre\-build node packages have their preinstall, install, and postinstall
+scripts stripped (since they are run prior to publishing), and do not
+have their \fBbuild\fR directories automatically ignored\.
+.
+.P
+It\'s yet to be seen if this is a good idea\.
+.
+.SS "browser"
+.
+.IP "\(bu" 4
+Default: OS X: \fB"open"\fR, others: \fB"google\-chrome"\fR
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+The browser that is called by the \fBnpm docs\fR command to open websites\.
+.
+.SS "ca"
+.
+.IP "\(bu" 4
+Default: The npm CA certificate
+.
+.IP "\(bu" 4
+Type: String or null
+.
+.IP "" 0
+.
+.P
+The Certificate Authority signing certificate that is trusted for SSL
+connections to the registry\.
+.
+.P
+Set to \fBnull\fR to only allow "known" registrars, or to a specific CA cert
+to trust only that specific signing authority\.
+.
+.P
+See also the \fBstrict\-ssl\fR config\.
+.
+.SS "cache"
+.
+.IP "\(bu" 4
+Default: Windows: \fB~/npm\-cache\fR, Posix: \fB~/\.npm\fR
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The location of npm\'s cache directory\. See \fBnpm help cache\fR
+.
+.SS "color"
+.
+.IP "\(bu" 4
+Default: true on Posix, false on Windows
+.
+.IP "\(bu" 4
+Type: Boolean or \fB"always"\fR
+.
+.IP "" 0
+.
+.P
+If false, never shows colors\. If \fB"always"\fR then always shows colors\.
+If true, then only prints color codes for tty file descriptors\.
+.
+.SS "depth"
+.
+.IP "\(bu" 4
+Default: Infinity
+.
+.IP "\(bu" 4
+Type: Number
+.
+.IP "" 0
+.
+.P
+The depth to go when recursing directories for \fBnpm ls\fR and \fBnpm cache ls\fR\|\.
+.
+.SS "description"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Show the description in \fBnpm search\fR
+.
+.SS "dev"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Install \fBdev\-dependencies\fR along with packages\.
+.
+.P
+Note that \fBdev\-dependencies\fR are also installed if the \fBnpat\fR flag is
+set\.
+.
+.SS "editor"
+.
+.IP "\(bu" 4
+Default: \fBEDITOR\fR environment variable if set, or \fB"vi"\fR on Posix,
+or \fB"notepad"\fR on Windows\.
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The command to run for \fBnpm edit\fR or \fBnpm config edit\fR\|\.
+.
+.SS "force"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Makes various commands more forceful\.
+.
+.IP "\(bu" 4
+lifecycle script failure does not block progress\.
+.
+.IP "\(bu" 4
+publishing clobbers previously published versions\.
+.
+.IP "\(bu" 4
+skips cache when requesting from the registry\.
+.
+.IP "\(bu" 4
+prevents checks against clobbering non\-npm files\.
+.
+.IP "" 0
+.
+.SS "global"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Operates in "global" mode, so that packages are installed into the \fBprefix\fR folder instead of the current working directory\. See \fBnpm help folders\fR for more on the differences in behavior\.
+.
+.IP "\(bu" 4
+packages are installed into the \fBprefix/node_modules\fR folder, instead of the
+current working directory\.
+.
+.IP "\(bu" 4
+bin files are linked to \fBprefix/bin\fR
+.
+.IP "\(bu" 4
+man pages are linked to \fBprefix/share/man\fR
+.
+.IP "" 0
+.
+.SS "globalconfig"
+.
+.IP "\(bu" 4
+Default: {prefix}/etc/npmrc
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The config file to read for global config options\.
+.
+.SS "globalignorefile"
+.
+.IP "\(bu" 4
+Default: {prefix}/etc/npmignore
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The config file to read for global ignore patterns to apply to all users
+and all projects\.
+.
+.P
+If not found, but there is a "gitignore" file in the
+same directory, then that will be used instead\.
+.
+.SS "group"
+.
+.IP "\(bu" 4
+Default: GID of the current process
+.
+.IP "\(bu" 4
+Type: String or Number
+.
+.IP "" 0
+.
+.P
+The group to use when running package scripts in global mode as the root
+user\.
+.
+.SS "https\-proxy"
+.
+.IP "\(bu" 4
+Default: the \fBHTTPS_PROXY\fR or \fBhttps_proxy\fR or \fBHTTP_PROXY\fR or \fBhttp_proxy\fR environment variables\.
+.
+.IP "\(bu" 4
+Type: url
+.
+.IP "" 0
+.
+.P
+A proxy to use for outgoing https requests\.
+.
+.SS "ignore"
+.
+.IP "\(bu" 4
+Default: ""
+.
+.IP "\(bu" 4
+Type: string
+.
+.IP "" 0
+.
+.P
+A white\-space separated list of glob patterns of files to always exclude
+from packages when building tarballs\.
+.
+.SS "init\.version"
+.
+.IP "\(bu" 4
+Default: "0\.0\.0"
+.
+.IP "\(bu" 4
+Type: semver
+.
+.IP "" 0
+.
+.P
+The value \fBnpm init\fR should use by default for the package version\.
+.
+.SS "init\.author\.name"
+.
+.IP "\(bu" 4
+Default: "0\.0\.0"
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+The value \fBnpm init\fR should use by default for the package author\'s name\.
+.
+.SS "init\.author\.email"
+.
+.IP "\(bu" 4
+Default: ""
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+The value \fBnpm init\fR should use by default for the package author\'s email\.
+.
+.SS "init\.author\.url"
+.
+.IP "\(bu" 4
+Default: ""
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+The value \fBnpm init\fR should use by default for the package author\'s homepage\.
+.
+.SS "link"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+If true, then local installs will link if there is a suitable globally
+installed package\.
+.
+.P
+Note that this means that local installs can cause things to be
+installed into the global space at the same time\. The link is only done
+if one of the two conditions are met:
+.
+.IP "\(bu" 4
+The package is not already installed globally, or
+.
+.IP "\(bu" 4
+the globally installed version is identical to the version that is
+being installed locally\.
+.
+.IP "" 0
+.
+.SS "logfd"
+.
+.IP "\(bu" 4
+Default: stderr file descriptor
+.
+.IP "\(bu" 4
+Type: Number or Stream
+.
+.IP "" 0
+.
+.P
+The location to write log output\.
+.
+.SS "loglevel"
+.
+.IP "\(bu" 4
+Default: "warn"
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "\(bu" 4
+Values: "silent", "win", "error", "warn", "info", "verbose", "silly"
+.
+.IP "" 0
+.
+.P
+What level of logs to report\. On failure, \fIall\fR logs are written to \fBnpm\-debug\.log\fR in the current working directory\.
+.
+.SS "logprefix"
+.
+.IP "\(bu" 4
+Default: true on Posix, false on Windows
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Whether or not to prefix log messages with "npm" and the log level\. See
+also "color" and "loglevel"\.
+.
+.SS "long"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Show extended information in \fBnpm ls\fR
+.
+.SS "message"
+.
+.IP "\(bu" 4
+Default: "%s"
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+Commit message which is used by \fBnpm version\fR when creating version commit\.
+.
+.P
+Any "%s" in the message will be replaced with the version number\.
+.
+.SS "node\-version"
+.
+.IP "\(bu" 4
+Default: process\.version
+.
+.IP "\(bu" 4
+Type: semver or false
+.
+.IP "" 0
+.
+.P
+The node version to use when checking package\'s "engines" hash\.
+.
+.SS "npat"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Run tests on installation and report results to the \fBnpaturl\fR\|\.
+.
+.SS "npaturl"
+.
+.IP "\(bu" 4
+Default: Not yet implemented
+.
+.IP "\(bu" 4
+Type: url
+.
+.IP "" 0
+.
+.P
+The url to report npat test results\.
+.
+.SS "onload\-script"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+A node module to \fBrequire()\fR when npm loads\. Useful for programmatic
+usage\.
+.
+.SS "outfd"
+.
+.IP "\(bu" 4
+Default: standard output file descriptor
+.
+.IP "\(bu" 4
+Type: Number or Stream
+.
+.IP "" 0
+.
+.P
+Where to write "normal" output\. This has no effect on log output\.
+.
+.SS "parseable"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Output parseable results from commands that write to
+standard output\.
+.
+.SS "prefix"
+.
+.IP "\(bu" 4
+Default: node\'s process\.installPrefix
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The location to install global items\. If set on the command line, then
+it forces non\-global commands to run in the specified folder\.
+.
+.SS "production"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Set to true to run in "production" mode\.
+.
+.IP "1" 4
+devDependencies are not installed at the topmost level when running
+local \fBnpm install\fR without any arguments\.
+.
+.IP "2" 4
+Set the NODE_ENV="production" for lifecycle scripts\.
+.
+.IP "" 0
+.
+.SS "proxy"
+.
+.IP "\(bu" 4
+Default: \fBHTTP_PROXY\fR or \fBhttp_proxy\fR environment variable, or null
+.
+.IP "\(bu" 4
+Type: url
+.
+.IP "" 0
+.
+.P
+A proxy to use for outgoing http requests\.
+.
+.SS "rebuild\-bundle"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Rebuild bundled dependencies after installation\.
+.
+.SS "registry"
+.
+.IP "\(bu" 4
+Default: https://registry\.npmjs\.org/
+.
+.IP "\(bu" 4
+Type: url
+.
+.IP "" 0
+.
+.P
+The base URL of the npm package registry\.
+.
+.SS "rollback"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Remove failed installs\.
+.
+.SS "save"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Save installed packages to a package\.json file as dependencies\.
+.
+.P
+Only works if there is already a package\.json file present\.
+.
+.SS "searchopts"
+.
+.IP "\(bu" 4
+Default: ""
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+Space\-separated options that are always passed to search\.
+.
+.SS "searchexclude"
+.
+.IP "\(bu" 4
+Default: ""
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+Space\-separated options that limit the results from search\.
+.
+.SS "shell"
+.
+.IP "\(bu" 4
+Default: SHELL environment variable, or "bash" on Posix, or "cmd" on
+Windows
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The shell to run for the \fBnpm explore\fR command\.
+.
+.SS "strict\-ssl"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Whether or not to do SSL key validation when making requests to the
+registry via https\.
+.
+.P
+See also the \fBca\fR config\.
+.
+.SS "tag"
+.
+.IP "\(bu" 4
+Default: latest
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+If you ask npm to install a package and don\'t tell it a specific version, then
+it will install the specified tag\.
+.
+.P
+Also the tag that is added to the package@version specified by the \fBnpm
+tag\fR command, if no explicit tag is given\.
+.
+.SS "tmp"
+.
+.IP "\(bu" 4
+Default: TMPDIR environment variable, or "/tmp"
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+Where to store temporary files and folders\. All temp files are deleted
+on success, but left behind on failure for forensic purposes\.
+.
+.SS "unicode"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+When set to true, npm uses unicode characters in the tree output\. When
+false, it uses ascii characters to draw trees\.
+.
+.SS "unsafe\-perm"
+.
+.IP "\(bu" 4
+Default: false if running as root, true otherwise
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Set to true to suppress the UID/GID switching when running package
+scripts\. If set explicitly to false, then installing as a non\-root user
+will fail\.
+.
+.SS "usage"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Set to show short usage output (like the \-H output)
+instead of complete help when doing \fBnpm help help\fR\|\.
+.
+.SS "user"
+.
+.IP "\(bu" 4
+Default: "nobody"
+.
+.IP "\(bu" 4
+Type: String or Number
+.
+.IP "" 0
+.
+.P
+The UID to set to when running package scripts as root\.
+.
+.SS "username"
+.
+.IP "\(bu" 4
+Default: null
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+The username on the npm registry\. Set with \fBnpm adduser\fR
+.
+.SS "userconfig"
+.
+.IP "\(bu" 4
+Default: ~/\.npmrc
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The location of user\-level configuration settings\.
+.
+.SS "userignorefile"
+.
+.IP "\(bu" 4
+Default: ~/\.npmignore
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The location of a user\-level ignore file to apply to all packages\.
+.
+.P
+If not found, but there is a \.gitignore file in the same directory, then
+that will be used instead\.
+.
+.SS "umask"
+.
+.IP "\(bu" 4
+Default: 022
+.
+.IP "\(bu" 4
+Type: Octal numeric string
+.
+.IP "" 0
+.
+.P
+The "umask" value to use when setting the file creation mode on files
+and folders\.
+.
+.P
+Folders and executables are given a mode which is \fB0777\fR masked against
+this value\. Other files are given a mode which is \fB0666\fR masked against
+this value\. Thus, the defaults are \fB0755\fR and \fB0644\fR respectively\.
+.
+.SS "version"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: boolean
+.
+.IP "" 0
+.
+.P
+If true, output the npm version and exit successfully\.
+.
+.P
+Only relevant when specified explicitly on the command line\.
+.
+.SS "viewer"
+.
+.IP "\(bu" 4
+Default: "man" on Posix, "browser" on Windows
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The program to use to view help content\.
+.
+.P
+Set to \fB"browser"\fR to view html help content in the default web browser\.
+.
+.SS "yes"
+.
+.IP "\(bu" 4
+Default: null
+.
+.IP "\(bu" 4
+Type: Boolean or null
+.
+.IP "" 0
+.
+.P
+If set to \fBnull\fR, then prompt the user for responses in some
+circumstances\.
+.
+.P
+If set to \fBtrue\fR, then answer "yes" to any prompt\. If set to \fBfalse\fR
+then answer "no" to any prompt\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help npm
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/global.1 b/deps/npm/man/man1/global.1
new file mode 100644
index 0000000000..070d40c4c4
--- /dev/null
+++ b/deps/npm/man/man1/global.1
@@ -0,0 +1,259 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-FOLDERS" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-folders\fR \-\- Folder Structures Used by npm
+.
+.SH "DESCRIPTION"
+npm puts various things on your computer\. That\'s its job\.
+.
+.P
+This document will tell you what it puts where\.
+.
+.SS "tl;dr"
+.
+.IP "\(bu" 4
+Local install (default): puts stuff in \fB\|\./node_modules\fR of the current
+package root\.
+.
+.IP "\(bu" 4
+Global install (with \fB\-g\fR): puts stuff in /usr/local or wherever node
+is installed\.
+.
+.IP "\(bu" 4
+Install it \fBlocally\fR if you\'re going to \fBrequire()\fR it\.
+.
+.IP "\(bu" 4
+Install it \fBglobally\fR if you\'re going to run it on the command line\.
+.
+.IP "\(bu" 4
+If you need both, then install it in both places, or use \fBnpm link\fR\|\.
+.
+.IP "" 0
+.
+.SS "prefix Configuration"
+The \fBprefix\fR config defaults to the location where node is installed\.
+On most systems, this is \fB/usr/local\fR, and most of the time is the same
+as node\'s \fBprocess\.installPrefix\fR\|\.
+.
+.P
+On windows, this is the exact location of the node\.exe binary\. On Unix
+systems, it\'s one level up, since node is typically installed at \fB{prefix}/bin/node\fR rather than \fB{prefix}/node\.exe\fR\|\.
+.
+.P
+When the \fBglobal\fR flag is set, npm installs things into this prefix\.
+When it is not set, it uses the root of the current package, or the
+current working directory if not in a package already\.
+.
+.SS "Node Modules"
+Packages are dropped into the \fBnode_modules\fR folder under the \fBprefix\fR\|\.
+When installing locally, this means that you can \fBrequire("packagename")\fR to load its main module, or \fBrequire("packagename/lib/path/to/sub/module")\fR to load other modules\.
+.
+.P
+Global installs on Unix systems go to \fB{prefix}/lib/node_modules\fR\|\.
+Global installs on Windows go to \fB{prefix}/node_modules\fR (that is, no \fBlib\fR folder\.)
+.
+.P
+If you wish to \fBrequire()\fR a package, then install it locally\.
+.
+.SS "Executables"
+When in global mode, executables are linked into \fB{prefix}/bin\fR on Unix,
+or directly into \fB{prefix}\fR on Windows\.
+.
+.P
+When in local mode, executables are linked into \fB\|\./node_modules/\.bin\fR so that they can be made available to scripts run
+through npm\. (For example, so that a test runner will be in the path
+when you run \fBnpm test\fR\|\.)
+.
+.SS "Man Pages"
+When in global mode, man pages are linked into \fB{prefix}/share/man\fR\|\.
+.
+.P
+When in local mode, man pages are not installed\.
+.
+.P
+Man pages are not installed on Windows systems\.
+.
+.SS "Cache"
+See \fBnpm help cache\fR\|\. Cache files are stored in \fB~/\.npm\fR on Posix, or \fB~/npm\-cache\fR on Windows\.
+.
+.P
+This is controlled by the \fBcache\fR configuration param\.
+.
+.SS "Temp Files"
+Temporary files are stored by default in the folder specified by the \fBtmp\fR config, which defaults to the TMPDIR, TMP, or TEMP environment
+variables, or \fB/tmp\fR on Unix and \fBc:\\windows\\temp\fR on Windows\.
+.
+.P
+Temp files are given a unique folder under this root for each run of the
+program, and are deleted upon successful exit\.
+.
+.SH "More Information"
+When installing locally, npm first tries to find an appropriate \fBprefix\fR folder\. This is so that \fBnpm install foo@1\.2\.3\fR will install
+to the sensible root of your package, even if you happen to have \fBcd\fRed
+into some other folder\.
+.
+.P
+Starting at the $PWD, npm will walk up the folder tree checking for a
+folder that contains either a \fBpackage\.json\fR file, or a \fBnode_modules\fR
+folder\. If such a thing is found, then that is treated as the effective
+"current directory" for the purpose of running npm commands\. (This
+behavior is inspired by and similar to git\'s \.git\-folder seeking
+logic when running git commands in a working dir\.)
+.
+.P
+If no package root is found, then the current folder is used\.
+.
+.P
+When you run \fBnpm install foo@1\.2\.3\fR, then the package is loaded into
+the cache, and then unpacked into \fB\|\./node_modules/foo\fR\|\. Then, any of
+foo\'s dependencies are similarly unpacked into \fB\|\./node_modules/foo/node_modules/\.\.\.\fR\|\.
+.
+.P
+Any bin files are symlinked to \fB\|\./node_modules/\.bin/\fR, so that they may
+be found by npm scripts when necessary\.
+.
+.SS "Global Installation"
+If the \fBglobal\fR configuration is set to true, then npm will
+install packages "globally"\.
+.
+.P
+For global installation, packages are installed roughly the same way,
+but using the folders described above\.
+.
+.SS "Cycles, Conflicts, and Folder Parsimony"
+Cycles are handled using the property of node\'s module system that it
+walks up the directories looking for \fBnode_modules\fR folders\. So, at every
+stage, if a package is already installed in an ancestor \fBnode_modules\fR
+folder, then it is not installed at the current location\.
+.
+.P
+Consider the case above, where \fBfoo \-> bar \-> baz\fR\|\. Imagine if, in
+addition to that, baz depended on bar, so you\'d have: \fBfoo \-> bar \-> baz \-> bar \-> baz \.\.\.\fR\|\. However, since the folder
+structure is: \fBfoo/node_modules/bar/node_modules/baz\fR, there\'s no need to
+put another copy of bar into \fB\|\.\.\./baz/node_modules\fR, since when it calls
+require("bar"), it will get the copy that is installed in \fBfoo/node_modules/bar\fR\|\.
+.
+.P
+This shortcut is only used if the exact same
+version would be installed in multiple nested \fBnode_modules\fR folders\. It
+is still possible to have \fBa/node_modules/b/node_modules/a\fR if the two
+"a" packages are different versions\. However, without repeating the
+exact same package multiple times, an infinite regress will always be
+prevented\.
+.
+.P
+Another optimization can be made by installing dependencies at the
+highest level possible, below the localized "target" folder\.
+.
+.TP
+Example
+.Consider this dependency graph:
+.
+.IP "" 4
+.
+.nf
+foo
++\-\- blerg@1\.2\.5
++\-\- bar@1\.2\.3
+| +\-\- blerg@1\.x (latest=1\.3\.7)
+| +\-\- baz@2\.x
+| | `\-\- quux@3\.x
+| | `\-\- bar@1\.2\.3 (cycle)
+| `\-\- asdf@*
+`\-\- baz@1\.2\.3
+ `\-\- quux@3\.x
+ `\-\- bar
+.
+.fi
+.
+.IP "" 0
+.
+.P
+In this case, we might expect a folder structure like this:
+.
+.IP "" 4
+.
+.nf
+foo
++\-\- node_modules
+ +\-\- blerg (1\.2\.5) <\-\-\-[A]
+ +\-\- bar (1\.2\.3) <\-\-\-[B]
+ | +\-\- node_modules
+ | | `\-\- baz (2\.0\.2) <\-\-\-[C]
+ | | `\-\- node_modules
+ | | `\-\- quux (3\.2\.0)
+ | `\-\- asdf (2\.3\.4)
+ `\-\- baz (1\.2\.3) <\-\-\-[D]
+ `\-\- node_modules
+ `\-\- quux (3\.2\.0) <\-\-\-[E]
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Since foo depends directly on bar@1\.2\.3 and baz@1\.2\.3, those are
+installed in foo\'s \fBnode_modules\fR folder\.
+.
+.P
+Even though the latest copy of blerg is 1\.3\.7, foo has a specific
+dependency on version 1\.2\.5\. So, that gets installed at [A]\. Since the
+parent installation of blerg satisfie\'s bar\'s dependency on blerg@1\.x,
+it does not install another copy under [B]\.
+.
+.P
+Bar [B] also has dependencies on baz and asdf, so those are installed in
+bar\'s \fBnode_modules\fR folder\. Because it depends on \fBbaz@2\.x\fR, it cannot
+re\-use the \fBbaz@1\.2\.3\fR installed in the parent \fBnode_modules\fR folder [D],
+and must install its own copy [C]\.
+.
+.P
+Underneath bar, the \fBbaz\->quux\->bar\fR dependency creates a cycle\.
+However, because \fBbar\fR is already in \fBquux\fR\'s ancestry [B], it does not
+unpack another copy of bar into that folder\.
+.
+.P
+Underneath \fBfoo\->baz\fR [D], quux\'s [E] folder tree is empty, because its
+dependency on bar is satisfied by the parent folder copy installed at [B]\.
+.
+.P
+For a graphical breakdown of what is installed where, use \fBnpm ls\fR\|\.
+.
+.SS "Publishing"
+Upon publishing, npm will look in the \fBnode_modules\fR folder\. If any of
+the items there are not in the \fBbundledDependencies\fR array, then they will
+not be included in the package tarball\.
+.
+.P
+This allows a package maintainer to install all of their dependencies
+(and dev dependencies) locally, but only re\-publish those items that
+cannot be found elsewhere\. See \fBnpm help json\fR for more information\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help faq
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "\(bu" 4
+npm help pack
+.
+.IP "\(bu" 4
+npm help cache
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help publish
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/help-search.1 b/deps/npm/man/man1/help-search.1
new file mode 100644
index 0000000000..57681eeb2b
--- /dev/null
+++ b/deps/npm/man/man1/help-search.1
@@ -0,0 +1,59 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-HELP\-SEARCH" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-help-search\fR \-\- Search npm help documentation
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm help\-search some search terms
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command will search the npm markdown documentation files for the
+terms provided, and then list the results, sorted by relevance\.
+.
+.P
+If only one result is found, then it will show that help topic\.
+.
+.P
+If the argument to \fBnpm help\fR is not a known help topic, then it will
+call \fBhelp\-search\fR\|\. It is rarely if ever necessary to call this
+command directly\.
+.
+.SH "CONFIGURATION"
+.
+.SS "long"
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "\(bu" 4
+Default false
+.
+.IP "" 0
+.
+.P
+If true, the "long" flag will cause help\-search to output context around
+where the terms were found in the documentation\.
+.
+.P
+If false, then help\-search will just list out the help topics found\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help npm
+.
+.IP "\(bu" 4
+npm help faq
+.
+.IP "\(bu" 4
+npm help help
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/help.1 b/deps/npm/man/man1/help.1
new file mode 100644
index 0000000000..4fe291c3c2
--- /dev/null
+++ b/deps/npm/man/man1/help.1
@@ -0,0 +1,71 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-HELP" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-help\fR \-\- Get help on npm
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm help <topic>
+npm help some search terms
+.
+.fi
+.
+.SH "DESCRIPTION"
+If supplied a topic, then show the appropriate documentation page\.
+.
+.P
+If the topic does not exist, or if multiple terms are provided, then run
+the \fBhelp\-search\fR command to find a match\. Note that, if \fBhelp\-search\fR
+finds a single subject, then it will run \fBhelp\fR on that topic, so unique
+matches are equivalent to specifying a topic name\.
+.
+.SH "CONFIGURATION"
+.
+.SS "viewer"
+.
+.IP "\(bu" 4
+Default: "man" on Posix, "browser" on Windows
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The program to use to view help content\.
+.
+.P
+Set to \fB"browser"\fR to view html help content in the default web browser\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help npm
+.
+.IP "\(bu" 4
+README
+.
+.IP "\(bu" 4
+npm help faq
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "\(bu" 4
+npm help help\-search
+.
+.IP "\(bu" 4
+npm help index
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/home.1 b/deps/npm/man/man1/home.1
new file mode 100644
index 0000000000..c63dd3cd9c
--- /dev/null
+++ b/deps/npm/man/man1/home.1
@@ -0,0 +1,68 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-DOCS" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-docs\fR \-\- Docs for a package in a web browser maybe
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm docs <pkgname>
+npm home <pkgname>
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command tries to guess at the likely location of a package\'s
+documentation URL, and then tries to open it using the \fB\-\-browser\fR
+config param\.
+.
+.SH "CONFIGURATION"
+.
+.SS "browser"
+.
+.IP "\(bu" 4
+Default: OS X: \fB"open"\fR, others: \fB"google\-chrome"\fR
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+The browser that is called by the \fBnpm docs\fR command to open websites\.
+.
+.SS "registry"
+.
+.IP "\(bu" 4
+Default: https://registry\.npmjs\.org/
+.
+.IP "\(bu" 4
+Type: url
+.
+.IP "" 0
+.
+.P
+The base URL of the npm package registry\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help view
+.
+.IP "\(bu" 4
+npm help publish
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/index.1 b/deps/npm/man/man1/index.1
new file mode 100644
index 0000000000..6ea2c62ac7
--- /dev/null
+++ b/deps/npm/man/man1/index.1
@@ -0,0 +1,277 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-INDEX" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-index\fR \-\- Index of all npm documentation
+.
+.SH "npm help README"
+ node package manager
+.
+.SH "npm help adduser"
+ Add a registry user account
+.
+.SH "npm help bin"
+ Display npm bin folder
+.
+.SH "npm help bugs"
+ Bugs for a package in a web browser maybe
+.
+.SH "npm help build"
+ Build a package
+.
+.SH "npm help bundle"
+ REMOVED
+.
+.SH "npm help cache"
+ Manipulates packages cache
+.
+.SH "npm help changelog"
+ Changes
+.
+.SH "npm help coding\-style"
+ npm\'s "funny" coding style
+.
+.SH "npm help completion"
+ Tab Completion for npm
+.
+.SH "npm help config"
+ Manage the npm configuration file
+.
+.SH "npm help deprecate"
+ Deprecate a version of a package
+.
+.SH "npm help developers"
+ Developer Guide
+.
+.SH "npm help docs"
+ Docs for a package in a web browser maybe
+.
+.SH "npm help edit"
+ Edit an installed package
+.
+.SH "npm help explore"
+ Browse an installed package
+.
+.SH "npm help faq"
+ Frequently Asked Questions
+.
+.SH "npm help folders"
+ Folder Structures Used by npm
+.
+.SH "npm help help\-search"
+ Search npm help documentation
+.
+.SH "npm help help"
+ Get help on npm
+.
+.SH "npm help init"
+ Interactively create a package\.json file
+.
+.SH "npm help install"
+ Install a package
+.
+.SH "npm help json"
+ Specifics of npm\'s package\.json handling
+.
+.SH "npm help link"
+ Symlink a package folder
+.
+.SH "npm help list"
+ List installed packages
+.
+.SH "npm help npm"
+ node package manager
+.
+.SH "npm help outdated"
+ Check for outdated packages
+.
+.SH "npm help owner"
+ Manage package owners
+.
+.SH "npm help pack"
+ Create a tarball from a package
+.
+.SH "npm help prefix"
+ Display prefix
+.
+.SH "npm help prune"
+ Remove extraneous packages
+.
+.SH "npm help publish"
+ Publish a package
+.
+.SH "npm help rebuild"
+ Rebuild a package
+.
+.SH "npm help registry"
+ The JavaScript Package Registry
+.
+.SH "npm help removing\-npm"
+ Cleaning the Slate
+.
+.SH "npm help restart"
+ Start a package
+.
+.SH "npm help root"
+ Display npm root
+.
+.SH "npm help run\-script"
+ Run arbitrary package scripts
+.
+.SH "npm help scripts"
+ How npm handles the "scripts" field
+.
+.SH "npm help search"
+ Search for packages
+.
+.SH "npm help semver"
+ The semantic versioner for npm
+.
+.SH "npm help star"
+ Mark your favorite packages
+.
+.SH "npm help start"
+ Start a package
+.
+.SH "npm help stop"
+ Stop a package
+.
+.SH "npm help submodule"
+ Add a package as a git submodule
+.
+.SH "npm help tag"
+ Tag a published version
+.
+.SH "npm help test"
+ Test a package
+.
+.SH "npm help uninstall"
+ Remove a package
+.
+.SH "npm help unpublish"
+ Remove a package from the registry
+.
+.SH "npm help update"
+ Update a package
+.
+.SH "npm help version"
+ Bump a package version
+.
+.SH "npm help view"
+ View registry info
+.
+.SH "npm help whoami"
+ Display npm username
+.
+.SH "npm apihelp bin"
+ Display npm bin folder
+.
+.SH "npm apihelp bugs"
+ Bugs for a package in a web browser maybe
+.
+.SH "npm apihelp commands"
+ npm commands
+.
+.SH "npm apihelp config"
+ Manage the npm configuration files
+.
+.SH "npm apihelp deprecate"
+ Deprecate a version of a package
+.
+.SH "npm apihelp docs"
+ Docs for a package in a web browser maybe
+.
+.SH "npm apihelp edit"
+ Edit an installed package
+.
+.SH "npm apihelp explore"
+ Browse an installed package
+.
+.SH "npm apihelp help\-search"
+ Search the help pages
+.
+.SH "npm apihelp init"
+ Interactively create a package\.json file
+.
+.SH "npm apihelp install"
+ install a package programmatically
+.
+.SH "npm apihelp link"
+ Symlink a package folder
+.
+.SH "npm apihelp load"
+ Load config settings
+.
+.SH "npm apihelp ls"
+ List installed packages
+.
+.SH "npm apihelp npm"
+ node package manager
+.
+.SH "npm apihelp outdated"
+ Check for outdated packages
+.
+.SH "npm apihelp owner"
+ Manage package owners
+.
+.SH "npm apihelp pack"
+ Create a tarball from a package
+.
+.SH "npm apihelp prefix"
+ Display prefix
+.
+.SH "npm apihelp prune"
+ Remove extraneous packages
+.
+.SH "npm apihelp publish"
+ Publish a package
+.
+.SH "npm apihelp rebuild"
+ Rebuild a package
+.
+.SH "npm apihelp restart"
+ Start a package
+.
+.SH "npm apihelp root"
+ Display npm root
+.
+.SH "npm apihelp run\-script"
+ Run arbitrary package scripts
+.
+.SH "npm apihelp search"
+ Search for packages
+.
+.SH "npm apihelp start"
+ Start a package
+.
+.SH "npm apihelp stop"
+ Stop a package
+.
+.SH "npm apihelp submodule"
+ Add a package as a git submodule
+.
+.SH "npm apihelp tag"
+ Tag a published version
+.
+.SH "npm apihelp test"
+ Test a package
+.
+.SH "npm apihelp uninstall"
+ uninstall a package programmatically
+.
+.SH "npm apihelp unpublish"
+ Remove a package from the registry
+.
+.SH "npm apihelp update"
+ Update a package
+.
+.SH "npm apihelp version"
+ Bump a package version
+.
+.SH "npm apihelp view"
+ View registry info
+.
+.SH "npm apihelp whoami"
+ Display npm username
diff --git a/deps/npm/man/man1/init.1 b/deps/npm/man/man1/init.1
new file mode 100644
index 0000000000..a59c370cf0
--- /dev/null
+++ b/deps/npm/man/man1/init.1
@@ -0,0 +1,40 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-INIT" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-init\fR \-\- Interactively create a package\.json file
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm init
+.
+.fi
+.
+.SH "DESCRIPTION"
+This will ask you a bunch of questions, and then write a package\.json for you\.
+.
+.P
+It attempts to make reasonable guesses about what you want things to be set to,
+and then writes a package\.json file with the options you\'ve selected\.
+.
+.P
+If you already have a package\.json file, it\'ll read that first, and default to
+the options in there\.
+.
+.P
+It is strictly additive, so it does not delete options from your package\.json
+without a really good reason to do so\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "\(bu" 4
+npm help version
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/install.1 b/deps/npm/man/man1/install.1
new file mode 100644
index 0000000000..6bffe36ec0
--- /dev/null
+++ b/deps/npm/man/man1/install.1
@@ -0,0 +1,374 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-INSTALL" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-install\fR \-\- Install a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm install (with no args in a package dir)
+npm install <tarball file>
+npm install <tarball url>
+npm install <folder>
+npm install <name>
+npm install <name>@<tag>
+npm install <name>@<version>
+npm install <name>@<version range>
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command installs a package, and any packages that it depends on\.
+.
+.P
+A \fBpackage\fR is:
+.
+.IP "\(bu" 4
+a) a folder containing a program described by a package\.json file
+.
+.IP "\(bu" 4
+b) a gzipped tarball containing (a)
+.
+.IP "\(bu" 4
+c) a url that resolves to (b)
+.
+.IP "\(bu" 4
+d) a \fB<name>@<version>\fR that is published on the registry with (c)
+.
+.IP "\(bu" 4
+e) a \fB<name>@<tag>\fR that points to (d)
+.
+.IP "\(bu" 4
+f) a \fB<name>\fR that has a "latest" tag satisfying (e)
+.
+.IP "\(bu" 4
+g) a \fB<git remote url>\fR that resolves to (b)
+.
+.IP "" 0
+.
+.P
+Even if you never publish your package, you can still get a lot of
+benefits of using npm if you just want to write a node program (a), and
+perhaps if you also want to be able to easily install it elsewhere
+after packing it up into a tarball (b)\.
+.
+.IP "\(bu" 4
+\fBnpm install\fR (in package directory, no arguments):
+Install the dependencies in the local node_modules folder\.
+.
+.IP
+In global mode (ie, with \fB\-g\fR or \fB\-\-global\fR appended to the command),
+it installs the current package context (ie, the current working
+directory) as a global package\.
+.
+.IP "\(bu" 4
+\fBnpm install <folder>\fR:
+Install a package that is sitting in a folder on the filesystem\.
+.
+.IP "\(bu" 4
+\fBnpm install <tarball file>\fR:
+Install a package that is sitting on the filesystem\. Note: if you just want
+to link a dev directory into your npm root, you can do this more easily by
+using \fBnpm link\fR\|\.
+.
+.IP
+Example:
+.
+.IP "" 4
+.
+.nf
+npm install \./package\.tgz
+.
+.fi
+.
+.IP "" 0
+
+.
+.IP "\(bu" 4
+\fBnpm install <tarball url>\fR:
+Fetch the tarball url, and then install it\. In order to distinguish between
+this and other options, the argument must start with "http://" or "https://"
+.
+.IP
+Example:
+.
+.IP "" 4
+.
+.nf
+npm install https://github\.com/indexzero/forever/tarball/v0\.5\.6
+.
+.fi
+.
+.IP "" 0
+
+.
+.IP "\(bu" 4
+\fBnpm install <name>\fR:
+Do a \fB<name>@<tag>\fR install, where \fB<tag>\fR is the "tag" config\. (See \fBnpm help config\fR)
+.
+.IP
+Example:
+.
+.IP "" 4
+.
+.nf
+npm install sax
+.
+.fi
+.
+.IP "" 0
+.
+.IP
+\fBNote\fR: If there is a file or folder named \fB<name>\fR in the current
+working directory, then it will try to install that, and only try to
+fetch the package by name if it is not valid\.
+.
+.IP "\(bu" 4
+\fBnpm install <name>@<tag>\fR:
+Install the version of the package that is referenced by the specified tag\.
+If the tag does not exist in the registry data for that package, then this
+will fail\.
+.
+.IP
+Example:
+.
+.IP "" 4
+.
+.nf
+npm install sax@latest
+.
+.fi
+.
+.IP "" 0
+
+.
+.IP "\(bu" 4
+\fBnpm install <name>@<version>\fR:
+Install the specified version of the package\. This will fail if the version
+has not been published to the registry\.
+.
+.IP
+Example:
+.
+.IP "" 4
+.
+.nf
+npm install sax@0\.1\.1
+.
+.fi
+.
+.IP "" 0
+
+.
+.IP "\(bu" 4
+\fBnpm install <name>@<version range>\fR:
+Install a version of the package matching the specified version range\. This
+will follow the same rules for resolving dependencies described in \fBnpm help json\fR\|\.
+.
+.IP
+Note that most version ranges must be put in quotes so that your shell will
+treat it as a single argument\.
+.
+.IP
+Example:
+.
+.IP "" 4
+.
+.nf
+npm install sax@">=0\.1\.0 <0\.2\.0"
+.
+.fi
+.
+.IP "" 0
+
+.
+.IP "\(bu" 4
+\fBnpm install <git remote url>\fR:
+.
+.IP
+Install a package by cloning a git remote url\. The format of the git
+url is:
+.
+.IP "" 4
+.
+.nf
+<protocol>://[<user>@]<hostname><separator><path>[#<commit\-ish>]
+.
+.fi
+.
+.IP "" 0
+.
+.IP
+\fB<protocol>\fR is one of \fBgit\fR, \fBgit+ssh\fR, \fBgit+http\fR, or \fBgit+https\fR\|\. If no \fB<commit\-ish>\fR is specified, then \fBmaster\fR is
+used\.
+.
+.IP
+Examples:
+.
+.IP "" 4
+.
+.nf
+git+ssh://git@github\.com:isaacs/npm\.git#v1\.0\.27
+git+https://isaacs@github\.com/isaacs/npm\.git
+git://github\.com/isaacs/npm\.git#v1\.0\.27
+.
+.fi
+.
+.IP "" 0
+
+.
+.IP "" 0
+.
+.P
+You may combine multiple arguments, and even multiple types of arguments\.
+For example:
+.
+.IP "" 4
+.
+.nf
+npm install sax@">=0\.1\.0 <0\.2\.0" bench supervisor
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The \fB\-\-tag\fR argument will apply to all of the specified install targets\.
+.
+.P
+The \fB\-\-force\fR argument will force npm to fetch remote resources even if a
+local copy exists on disk\.
+.
+.IP "" 4
+.
+.nf
+npm install sax \-\-force
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The \fB\-\-global\fR argument will cause npm to install the package globally
+rather than locally\. See \fBnpm help global\fR\|\.
+.
+.P
+The \fB\-\-link\fR argument will cause npm to link global installs into the
+local space in some cases\.
+.
+.P
+See \fBnpm help config\fR\|\. Many of the configuration params have some
+effect on installation, since that\'s most of what npm does\.
+.
+.SH "ALGORITHM"
+To install a package, npm uses the following algorithm:
+.
+.IP "" 4
+.
+.nf
+install(where, what, family, ancestors)
+fetch what, unpack to <where>/node_modules/<what>
+for each dep in what\.dependencies
+ resolve dep to precise version
+for each dep@version in what\.dependencies
+ not in <where>/node_modules/<what>/node_modules/*
+ and not in <family>
+ add precise version deps to <family>
+ install(<where>/node_modules/<what>, dep, family)
+.
+.fi
+.
+.IP "" 0
+.
+.P
+For this \fBpackage{dep}\fR structure: \fBA{B,C}, B{C}, C{D}\fR,
+this algorithm produces:
+.
+.IP "" 4
+.
+.nf
+A
++\-\- B
+`\-\- C
+ `\-\- D
+.
+.fi
+.
+.IP "" 0
+.
+.P
+That is, the dependency from B to C is satisfied by the fact that A
+already caused C to be installed at a higher level\.
+.
+.P
+See npm help folders for a more detailed description of the specific
+folder structures that npm creates\.
+.
+.SS "Limitations of npm\'s Install Algorithm"
+There are some very rare and pathological edge\-cases where a cycle can
+cause npm to try to install a never\-ending tree of packages\. Here is
+the simplest case:
+.
+.IP "" 4
+.
+.nf
+A \-> B \-> A\' \-> B\' \-> A \-> B \-> A\' \-> B\' \-> A \-> \.\.\.
+.
+.fi
+.
+.IP "" 0
+.
+.P
+where \fBA\fR is some version of a package, and \fBA\'\fR is a different version
+of the same package\. Because \fBB\fR depends on a different version of \fBA\fR
+than the one that is already in the tree, it must install a separate
+copy\. The same is true of \fBA\'\fR, which must install \fBB\'\fR\|\. Because \fBB\'\fR
+depends on the original version of \fBA\fR, which has been overridden, the
+cycle falls into infinite regress\.
+.
+.P
+To avoid this situation, npm flat\-out refuses to install any \fBname@version\fR that is already present anywhere in the tree of package
+folder ancestors\. A more correct, but more complex, solution would be
+to symlink the existing version into the new location\. If this ever
+affects a real use\-case, it will be investigated\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help update
+.
+.IP "\(bu" 4
+npm help link
+.
+.IP "\(bu" 4
+npm help rebuild
+.
+.IP "\(bu" 4
+npm help scripts
+.
+.IP "\(bu" 4
+npm help build
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help tag
+.
+.IP "\(bu" 4
+npm help rm
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/json.1 b/deps/npm/man/man1/json.1
new file mode 100644
index 0000000000..bfc5c2bd7d
--- /dev/null
+++ b/deps/npm/man/man1/json.1
@@ -0,0 +1,676 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-JSON" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-json\fR \-\- Specifics of npm\'s package\.json handling
+.
+.SH "DESCRIPTION"
+This document is all you need to know about what\'s required in your package\.json
+file\. It must be actual JSON, not just a JavaScript object literal\.
+.
+.P
+A lot of the behavior described in this document is affected by the config
+settings described in \fBnpm help config\fR\|\.
+.
+.SH "DEFAULT VALUES"
+npm will default some values based on package contents\.
+.
+.IP "\(bu" 4
+\fB"scripts": {"start": "node server\.js"}\fR
+.
+.IP
+If there is a \fBserver\.js\fR file in the root of your package, then npm
+will default the \fBstart\fR command to \fBnode server\.js\fR\|\.
+.
+.IP "\(bu" 4
+\fB"scripts":{"preinstall": "node\-waf clean || true; node\-waf configure build"}\fR
+.
+.IP
+If there is a \fBwscript\fR file in the root of your package, npm will
+default the \fBpreinstall\fR command to compile using node\-waf\.
+.
+.IP "\(bu" 4
+\fB"contributors": [\.\.\.]\fR
+.
+.IP
+If there is an \fBAUTHORS\fR file in the root of your package, npm will
+treat each line as a \fBName <email> (url)\fR format, where email and url
+are optional\. Lines which start with a \fB#\fR or are blank, will be
+ignored\.
+.
+.IP "" 0
+.
+.SH "name"
+The \fImost\fR important things in your package\.json are the name and version fields\.
+Those are actually required, and your package won\'t install without
+them\. The name and version together form an identifier that is assumed
+to be completely unique\. Changes to the package should come along with
+changes to the version\.
+.
+.P
+The name is what your thing is called\. Some tips:
+.
+.IP "\(bu" 4
+Don\'t put "js" or "node" in the name\. It\'s assumed that it\'s js, since you\'re
+writing a package\.json file, and you can specify the engine using the "engines"
+field\. (See below\.)
+.
+.IP "\(bu" 4
+The name ends up being part of a URL, an argument on the command line, and a
+folder name\. Any name with non\-url\-safe characters will be rejected\.
+Also, it can\'t start with a dot or an underscore\.
+.
+.IP "\(bu" 4
+The name will probably be passed as an argument to require(), so it should
+be something short, but also reasonably descriptive\.
+.
+.IP "\(bu" 4
+You may want to check the npm registry to see if there\'s something by that name
+already, before you get too attached to it\. http://registry\.npmjs\.org/
+.
+.IP "" 0
+.
+.SH "version"
+The \fImost\fR important things in your package\.json are the name and version fields\.
+Those are actually required, and your package won\'t install without
+them\. The name and version together form an identifier that is assumed
+to be completely unique\. Changes to the package should come along with
+changes to the version\.
+.
+.P
+Version must be parseable by node\-semver \fIhttps://github\.com/isaacs/node\-semver\fR, which is bundled
+with npm as a dependency\. (\fBnpm install semver\fR to use it yourself\.)
+.
+.P
+Here\'s how npm\'s semver implementation deviates from what\'s on semver\.org:
+.
+.IP "\(bu" 4
+Versions can start with "v"
+.
+.IP "\(bu" 4
+A numeric item separated from the main three\-number version by a hyphen
+will be interpreted as a "build" number, and will \fIincrease\fR the version\.
+But, if the tag is not a number separated by a hyphen, then it\'s treated
+as a pre\-release tag, and is \fIless than\fR the version without a tag\.
+So, \fB0\.1\.2\-7 > 0\.1\.2\-7\-beta > 0\.1\.2\-6 > 0\.1\.2 > 0\.1\.2beta\fR
+.
+.IP "" 0
+.
+.P
+This is a little bit confusing to explain, but matches what you see in practice
+when people create tags in git like "v1\.2\.3" and then do "git describe" to generate
+a patch version\.
+.
+.SH "description"
+Put a description in it\. It\'s a string\. This helps people discover your
+package, as it\'s listed in \fBnpm search\fR\|\.
+.
+.SH "keywords"
+Put keywords in it\. It\'s an array of strings\. This helps people
+discover your package as it\'s listed in \fBnpm search\fR\|\.
+.
+.SH "homepage"
+The url to the project homepage\.
+.
+.P
+\fBNOTE\fR: This is \fInot\fR the same as "url"\. If you put a "url" field,
+then the registry will think it\'s a redirection to your package that has
+been published somewhere else, and spit at you\.
+.
+.P
+Literally\. Spit\. I\'m so not kidding\.
+.
+.SH "bugs"
+The url to your project\'s issue tracker and / or the email address to which
+issues should be reported\. These are helpful for people who encounter issues
+with your package\.
+.
+.P
+It should look like this:
+.
+.IP "" 4
+.
+.nf
+{ "url" : "http://github\.com/owner/project/issues"
+, "email" : "project@hostname\.com"
+}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+You can specify either one or both values\. If you want to provide only a url,
+you can specify the value for "bugs" as a simple string instead of an object\.
+.
+.P
+If a url is provided, it will be used by the \fBnpm bugs\fR command\.
+.
+.SH "people fields: author, contributors"
+The "author" is one person\. "contributors" is an array of people\. A "person"
+is an object with a "name" field and optionally "url" and "email", like this:
+.
+.IP "" 4
+.
+.nf
+{ "name" : "Barney Rubble"
+, "email" : "b@rubble\.com"
+, "url" : "http://barnyrubble\.tumblr\.com/"
+}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Or you can shorten that all into a single string, and npm will parse it for you:
+.
+.IP "" 4
+.
+.nf
+"Barney Rubble <b@rubble\.com> (http://barnyrubble\.tumblr\.com/)
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Both email and url are optional either way\.
+.
+.P
+npm also sets a top\-level "maintainers" field with your npm user info\.
+.
+.SH "files"
+The "files" field is an array of files to include in your project\. If
+you name a folder in the array, then it will also include the files
+inside that folder\. (Unless they would be ignored by another rule\.)
+.
+.P
+You can also provide a "\.npmignore" file in the root of your package,
+which will keep files from being included, even if they would be picked
+up by the files array\. The "\.npmignore" file works just like a
+"\.gitignore"\.
+.
+.SH "main"
+The main field is a module ID that is the primary entry point to your program\.
+That is, if your package is named \fBfoo\fR, and a user installs it, and then does \fBrequire("foo")\fR, then your main module\'s exports object will be returned\.
+.
+.P
+This should be a module ID relative to the root of your package folder\.
+.
+.P
+For most modules, it makes the most sense to have a main script and often not
+much else\.
+.
+.SH "bin"
+A lot of packages have one or more executable files that they\'d like to
+install into the PATH\. npm makes this pretty easy (in fact, it uses this
+feature to install the "npm" executable\.)
+.
+.P
+To use this, supply a \fBbin\fR field in your package\.json which is a map of
+command name to local file name\. On install, npm will symlink that file into \fBprefix/bin\fR for global installs, or \fB\|\./node_modules/\.bin/\fR for local
+installs\.
+.
+.P
+For example, npm has this:
+.
+.IP "" 4
+.
+.nf
+{ "bin" : { "npm" : "\./cli\.js" } }
+.
+.fi
+.
+.IP "" 0
+.
+.P
+So, when you install npm, it\'ll create a symlink from the \fBcli\.js\fR script to \fB/usr/local/bin/npm\fR\|\.
+.
+.P
+If you have a single executable, and its name should be the name
+of the package, then you can just supply it as a string\. For example:
+.
+.IP "" 4
+.
+.nf
+{ "name": "my\-program"
+, "version": "1\.2\.5"
+, "bin": "\./path/to/program" }
+.
+.fi
+.
+.IP "" 0
+.
+.P
+would be the same as this:
+.
+.IP "" 4
+.
+.nf
+{ "name": "my\-program"
+, "version": "1\.2\.5"
+, "bin" : { "my\-program" : "\./path/to/program" } }
+.
+.fi
+.
+.IP "" 0
+.
+.SH "man"
+Specify either a single file or an array of filenames to put in place for the \fBman\fR program to find\.
+.
+.P
+If only a single file is provided, then it\'s installed such that it is the
+result from \fBman <pkgname>\fR, regardless of its actual filename\. For example:
+.
+.IP "" 4
+.
+.nf
+{ "name" : "foo"
+, "version" : "1\.2\.3"
+, "description" : "A packaged foo fooer for fooing foos"
+, "main" : "foo\.js"
+, "man" : "\./man/doc\.1"
+}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+would link the \fB\|\./man/doc\.1\fR file in such that it is the target for \fBman foo\fR
+.
+.P
+If the filename doesn\'t start with the package name, then it\'s prefixed\.
+So, this:
+.
+.IP "" 4
+.
+.nf
+{ "name" : "foo"
+, "version" : "1\.2\.3"
+, "description" : "A packaged foo fooer for fooing foos"
+, "main" : "foo\.js"
+, "man" : [ "\./man/foo\.1", "\./man/bar\.1" ]
+}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+will create files to do \fBman foo\fR and \fBman foo\-bar\fR\|\.
+.
+.P
+Man files must end with a number, and optionally a \fB\|\.gz\fR suffix if they are
+compressed\. The number dictates which man section the file is installed into\.
+.
+.IP "" 4
+.
+.nf
+{ "name" : "foo"
+, "version" : "1\.2\.3"
+, "description" : "A packaged foo fooer for fooing foos"
+, "main" : "foo\.js"
+, "man" : [ "\./man/foo\.1", "\./man/foo\.2" ]
+}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+will create entries for \fBman foo\fR and \fBman 2 foo\fR
+.
+.SH "directories"
+The CommonJS Packages \fIhttp://wiki\.commonjs\.org/wiki/Packages/1\.0\fR spec details a
+few ways that you can indicate the structure of your package using a \fBdirectories\fR
+hash\. If you look at npm\'s package\.json \fIhttp://registry\.npmjs\.org/npm/latest\fR,
+you\'ll see that it has directories for doc, lib, and man\.
+.
+.P
+In the future, this information may be used in other creative ways\.
+.
+.SS "directories\.lib"
+Tell people where the bulk of your library is\. Nothing special is done
+with the lib folder in any way, but it\'s useful meta info\.
+.
+.SS "directories\.bin"
+If you specify a "bin" directory, then all the files in that folder will
+be used as the "bin" hash\.
+.
+.P
+If you have a "bin" hash already, then this has no effect\.
+.
+.SS "directories\.man"
+A folder that is full of man pages\. Sugar to generate a "man" array by
+walking the folder\.
+.
+.SS "directories\.doc"
+Put markdown files in here\. Eventually, these will be displayed nicely,
+maybe, someday\.
+.
+.SS "directories\.example"
+Put example scripts in here\. Someday, it might be exposed in some clever way\.
+.
+.SH "repository"
+Specify the place where your code lives\. This is helpful for people who
+want to contribute\. If the git repo is on github, then the \fBnpm docs\fR
+command will be able to find you\.
+.
+.P
+Do it like this:
+.
+.IP "" 4
+.
+.nf
+"repository" :
+ { "type" : "git"
+ , "url" : "http://github\.com/isaacs/npm\.git"
+ }
+"repository" :
+ { "type" : "svn"
+ , "url" : "http://v8\.googlecode\.com/svn/trunk/"
+ }
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The URL should be a publicly available (perhaps read\-only) url that can be handed
+directly to a VCS program without any modification\. It should not be a url to an
+html project page that you put in your browser\. It\'s for computers\.
+.
+.SH "scripts"
+The "scripts" member is an object hash of script commands that are run
+at various times in the lifecycle of your package\. The key is the lifecycle
+event, and the value is the command to run at that point\.
+.
+.P
+See \fBnpm help scripts\fR to find out more about writing package scripts\.
+.
+.SH "config"
+A "config" hash can be used to set configuration
+parameters used in package scripts that persist across upgrades\. For
+instance, if a package had the following:
+.
+.IP "" 4
+.
+.nf
+{ "name" : "foo"
+, "config" : { "port" : "8080" } }
+.
+.fi
+.
+.IP "" 0
+.
+.P
+and then had a "start" command that then referenced the \fBnpm_package_config_port\fR environment variable, then the user could
+override that by doing \fBnpm config set foo:port 8001\fR\|\.
+.
+.P
+See \fBnpm help config\fR and \fBnpm help scripts\fR for more on package
+configs\.
+.
+.SH "dependencies"
+Dependencies are specified with a simple hash of package name to version
+range\. The version range is EITHER a string which has one or more
+space\-separated descriptors, OR a range like "fromVersion \- toVersion"
+.
+.P
+\fBPlease do not put test harnesses in your \fBdependencies\fR hash\.\fR See \fBdevDependencies\fR, below\.
+.
+.P
+Version range descriptors may be any of the following styles, where "version"
+is a semver compatible version identifier\.
+.
+.IP "\(bu" 4
+\fBversion\fR Must match \fBversion\fR exactly
+.
+.IP "\(bu" 4
+\fB=version\fR Same as just \fBversion\fR
+.
+.IP "\(bu" 4
+\fB>version\fR Must be greater than \fBversion\fR
+.
+.IP "\(bu" 4
+\fB>=version\fR etc
+.
+.IP "\(bu" 4
+\fB<version\fR
+.
+.IP "\(bu" 4
+\fB<=version\fR
+.
+.IP "\(bu" 4
+\fB~version\fR See \'Tilde Version Ranges\' below
+.
+.IP "\(bu" 4
+\fB1\.2\.x\fR See \'X Version Ranges\' below
+.
+.IP "\(bu" 4
+\fBhttp://\.\.\.\fR See \'URLs as Dependencies\' below
+.
+.IP "\(bu" 4
+\fB*\fR Matches any version
+.
+.IP "\(bu" 4
+\fB""\fR (just an empty string) Same as \fB*\fR
+.
+.IP "\(bu" 4
+\fBversion1 \- version2\fR Same as \fB>=version1 <=version2\fR\|\.
+.
+.IP "\(bu" 4
+\fBrange1 || range2\fR Passes if either range1 or range2 are satisfied\.
+.
+.IP "" 0
+.
+.P
+For example, these are all valid:
+.
+.IP "" 4
+.
+.nf
+{ "dependencies" :
+ { "foo" : "1\.0\.0 \- 2\.9999\.9999"
+ , "bar" : ">=1\.0\.2 <2\.1\.2"
+ , "baz" : ">1\.0\.2 <=2\.3\.4"
+ , "boo" : "2\.0\.1"
+ , "qux" : "<1\.0\.0 || >=2\.3\.1 <2\.4\.5 || >=2\.5\.2 <3\.0\.0"
+ , "asd" : "http://asdf\.com/asdf\.tar\.gz"
+ , "til" : "~1\.2"
+ , "elf" : "~1\.2\.3"
+ , "two" : "2\.x"
+ , "thr" : "3\.3\.x"
+ }
+}
+.
+.fi
+.
+.IP "" 0
+.
+.SS "Tilde Version Ranges"
+A range specifier starting with a tilde \fB~\fR character is matched against
+a version in the following fashion\.
+.
+.IP "\(bu" 4
+The version must be at least as high as the range\.
+.
+.IP "\(bu" 4
+The version must be less than the next major revision above the range\.
+.
+.IP "" 0
+.
+.P
+For example, the following are equivalent:
+.
+.IP "\(bu" 4
+\fB"~1\.2\.3" = ">=1\.2\.3 <1\.3\.0"\fR
+.
+.IP "\(bu" 4
+\fB"~1\.2" = ">=1\.2\.0 <2\.0\.0"\fR
+.
+.IP "\(bu" 4
+\fB"~1" = ">=1\.0\.0 <2\.0\.0"\fR
+.
+.IP "" 0
+.
+.SS "X Version Ranges"
+An "x" in a version range specifies that the version number must start
+with the supplied digits, but any digit may be used in place of the x\.
+.
+.P
+The following are equivalent:
+.
+.IP "\(bu" 4
+\fB"1\.2\.x" = ">=1\.2\.0 <1\.3\.0"\fR
+.
+.IP "\(bu" 4
+\fB"1\.x\.x" = ">=1\.0\.0 <2\.0\.0"\fR
+.
+.IP "\(bu" 4
+\fB"1\.2" = "1\.2\.x"\fR
+.
+.IP "\(bu" 4
+\fB"1\.x" = "1\.x\.x"\fR
+.
+.IP "\(bu" 4
+\fB"1" = "1\.x\.x"\fR
+.
+.IP "" 0
+.
+.P
+You may not supply a comparator with a version containing an x\. Any
+digits after the first "x" are ignored\.
+.
+.SS "URLs as Dependencies"
+Starting with npm version 0\.2\.14, you may specify a tarball URL in place
+of a version range\.
+.
+.P
+This tarball will be downloaded and installed locally to your package at
+install time\.
+.
+.SH "devDependencies"
+If someone is planning on downloading and using your module in their
+program, then they probably don\'t want or need to download and build
+the external test or documentation framework that you use\.
+.
+.P
+In this case, it\'s best to list these additional items in a \fBdevDependencies\fR hash\.
+.
+.P
+These things will be installed whenever the \fB\-\-dev\fR configuration flag
+is set\. This flag is set automatically when doing \fBnpm link\fR, and can
+be managed like any other npm configuration param\. See \fBnpm help config\fR
+for more on the topic\.
+.
+.SH "bundledDependencies"
+Array of package names that will be bundled when publishing the package\.
+.
+.P
+If this is spelled \fB"bundleDependencies"\fR, then that is also honorable\.
+.
+.SH "engines"
+You can specify the version of
+node that your stuff works on:
+.
+.IP "" 4
+.
+.nf
+{ "engines" : { "node" : ">=0\.1\.27 <0\.1\.30" } }
+.
+.fi
+.
+.IP "" 0
+.
+.P
+And, like with dependencies, if you don\'t specify the version (or if you
+specify "*" as the version), then any version of node will do\.
+.
+.P
+If you specify an "engines" field, then npm will require that "node" be
+somewhere on that list\. If "engines" is omitted, then npm will just assume
+that it works on node\.
+.
+.P
+You can also use the "engines" field to specify which versions of npm
+are capable of properly installing your program\. For example:
+.
+.IP "" 4
+.
+.nf
+{ "engines" : { "npm" : "~1\.0\.20" } }
+.
+.fi
+.
+.IP "" 0
+.
+.SH "preferGlobal"
+If your package is primarily a command\-line application that should be
+installed globally, then set this value to \fBtrue\fR to provide a warning
+if it is installed locally\.
+.
+.P
+It doesn\'t actually prevent users from installing it locally, but it
+does help prevent some confusion if it doesn\'t work as expected\.
+.
+.SH "private"
+If you set \fB"private": true\fR in your package\.json, then npm will refuse
+to publish it\.
+.
+.P
+This is a way to prevent accidental publication of private repositories\.
+If you would like to ensure that a given package is only ever published
+to a speciic registry (for example, an internal registry),
+then use the \fBpublishConfig\fR hash described below
+to override the \fBregistry\fR config param at publish\-time\.
+.
+.SH "publishConfig"
+This is a set of config values that will be used at publish\-time\. It\'s
+especially handy if you want to set the tag or registry, so that you can
+ensure that a given package is not tagged with "latest" or published to
+the global public registry by default\.
+.
+.P
+Any config values can be overridden, but of course only "tag" and
+"registry" probably matter for the purposes of publishing\.
+.
+.P
+See \fBnpm help config\fR to see the list of config options that can be
+overridden\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help semver
+.
+.IP "\(bu" 4
+npm help init
+.
+.IP "\(bu" 4
+npm help version
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help help
+.
+.IP "\(bu" 4
+npm help faq
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "\(bu" 4
+npm help publish
+.
+.IP "\(bu" 4
+npm help rm
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/link.1 b/deps/npm/man/man1/link.1
new file mode 100644
index 0000000000..74bf729b50
--- /dev/null
+++ b/deps/npm/man/man1/link.1
@@ -0,0 +1,108 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-LINK" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-link\fR \-\- Symlink a package folder
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm link (in package folder)
+npm link <pkgname>
+.
+.fi
+.
+.SH "DESCRIPTION"
+Package linking is a two\-step process\.
+.
+.P
+First, \fBnpm link\fR in a package folder will create a globally\-installed
+symbolic link from \fBprefix/package\-name\fR to the current folder\.
+.
+.P
+Next, in some other location, \fBnpm link package\-name\fR will create a
+symlink from the local \fBnode_modules\fR folder to the global symlink\.
+.
+.P
+When creating tarballs for \fBnpm publish\fR, the linked packages are
+"snapshotted" to their current state by resolving the symbolic links\.
+.
+.P
+This is
+handy for installing your own stuff, so that you can work on it and test it
+iteratively without having to continually rebuild\.
+.
+.P
+For example:
+.
+.IP "" 4
+.
+.nf
+cd ~/projects/node\-redis # go into the package directory
+npm link # creates global link
+cd ~/projects/node\-bloggy # go into some other package directory\.
+npm link redis # link\-install the package
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Now, any changes to ~/projects/node\-redis will be reflected in
+~/projects/node\-bloggy/node_modules/redis/
+.
+.P
+You may also shortcut the two steps in one\. For example, to do the
+above use\-case in a shorter way:
+.
+.IP "" 4
+.
+.nf
+cd ~/projects/node\-bloggy # go into the dir of your main project
+npm link \.\./node\-redis # link the dir of your dependency
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The second line is the equivalent of doing:
+.
+.IP "" 4
+.
+.nf
+(cd \.\./node\-redis; npm link)
+npm link redis
+.
+.fi
+.
+.IP "" 0
+.
+.P
+That is, it first creates a global link, and then links the global
+installation target into your project\'s \fBnode_modules\fR folder\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help developers
+.
+.IP "\(bu" 4
+npm help faq
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/list.1 b/deps/npm/man/man1/list.1
new file mode 100644
index 0000000000..b4412567c4
--- /dev/null
+++ b/deps/npm/man/man1/list.1
@@ -0,0 +1,99 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-LS" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-ls\fR \-\- List installed packages
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm list
+npm ls
+npm la
+npm ll
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command will print to stdout all the versions of packages that are
+installed, as well as their dependencies, in a tree\-structure\.
+.
+.P
+It does not take positional arguments, though you may set config flags
+like with any other command, such as \fB\-g\fR to list global packages\.
+.
+.P
+It will print out extraneous, missing, and invalid packages\.
+.
+.P
+When run as \fBll\fR or \fBla\fR, it shows extended information by default\.
+.
+.SH "CONFIGURATION"
+.
+.SS "long"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Show extended information\.
+.
+.SS "parseable"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Show parseable output instead of tree view\.
+.
+.SS "global"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+List packages in the global install prefix instead of in the current
+project\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "\(bu" 4
+npm help link
+.
+.IP "\(bu" 4
+npm help prune
+.
+.IP "\(bu" 4
+npm help outdated
+.
+.IP "\(bu" 4
+npm help update
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/ln.1 b/deps/npm/man/man1/ln.1
new file mode 100644
index 0000000000..74bf729b50
--- /dev/null
+++ b/deps/npm/man/man1/ln.1
@@ -0,0 +1,108 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-LINK" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-link\fR \-\- Symlink a package folder
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm link (in package folder)
+npm link <pkgname>
+.
+.fi
+.
+.SH "DESCRIPTION"
+Package linking is a two\-step process\.
+.
+.P
+First, \fBnpm link\fR in a package folder will create a globally\-installed
+symbolic link from \fBprefix/package\-name\fR to the current folder\.
+.
+.P
+Next, in some other location, \fBnpm link package\-name\fR will create a
+symlink from the local \fBnode_modules\fR folder to the global symlink\.
+.
+.P
+When creating tarballs for \fBnpm publish\fR, the linked packages are
+"snapshotted" to their current state by resolving the symbolic links\.
+.
+.P
+This is
+handy for installing your own stuff, so that you can work on it and test it
+iteratively without having to continually rebuild\.
+.
+.P
+For example:
+.
+.IP "" 4
+.
+.nf
+cd ~/projects/node\-redis # go into the package directory
+npm link # creates global link
+cd ~/projects/node\-bloggy # go into some other package directory\.
+npm link redis # link\-install the package
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Now, any changes to ~/projects/node\-redis will be reflected in
+~/projects/node\-bloggy/node_modules/redis/
+.
+.P
+You may also shortcut the two steps in one\. For example, to do the
+above use\-case in a shorter way:
+.
+.IP "" 4
+.
+.nf
+cd ~/projects/node\-bloggy # go into the dir of your main project
+npm link \.\./node\-redis # link the dir of your dependency
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The second line is the equivalent of doing:
+.
+.IP "" 4
+.
+.nf
+(cd \.\./node\-redis; npm link)
+npm link redis
+.
+.fi
+.
+.IP "" 0
+.
+.P
+That is, it first creates a global link, and then links the global
+installation target into your project\'s \fBnode_modules\fR folder\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help developers
+.
+.IP "\(bu" 4
+npm help faq
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/ls.1 b/deps/npm/man/man1/ls.1
new file mode 100644
index 0000000000..b4412567c4
--- /dev/null
+++ b/deps/npm/man/man1/ls.1
@@ -0,0 +1,99 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-LS" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-ls\fR \-\- List installed packages
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm list
+npm ls
+npm la
+npm ll
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command will print to stdout all the versions of packages that are
+installed, as well as their dependencies, in a tree\-structure\.
+.
+.P
+It does not take positional arguments, though you may set config flags
+like with any other command, such as \fB\-g\fR to list global packages\.
+.
+.P
+It will print out extraneous, missing, and invalid packages\.
+.
+.P
+When run as \fBll\fR or \fBla\fR, it shows extended information by default\.
+.
+.SH "CONFIGURATION"
+.
+.SS "long"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Show extended information\.
+.
+.SS "parseable"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Show parseable output instead of tree view\.
+.
+.SS "global"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+List packages in the global install prefix instead of in the current
+project\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "\(bu" 4
+npm help link
+.
+.IP "\(bu" 4
+npm help prune
+.
+.IP "\(bu" 4
+npm help outdated
+.
+.IP "\(bu" 4
+npm help update
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1
new file mode 100644
index 0000000000..02ce4ef105
--- /dev/null
+++ b/deps/npm/man/man1/npm.1
@@ -0,0 +1,227 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm\fR \-\- node package manager
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm <command> [args]
+.
+.fi
+.
+.SH "VERSION"
+1.1.0-alpha-2
+.
+.SH "DESCRIPTION"
+npm is the package manager for the Node JavaScript platform\. It puts
+modules in place so that node can find them, and manages dependency
+conflicts intelligently\.
+.
+.P
+It is extremely configurable to support a wide variety of use cases\.
+Most commonly, it is used to publish, discover, install, and develop node
+programs\.
+.
+.P
+Run \fBnpm help\fR to get a list of available commands\.
+.
+.SH "INTRODUCTION"
+You probably got npm because you want to install stuff\.
+.
+.P
+Use \fBnpm install blerg\fR to install the latest version of "blerg"\. Check out \fBnpm help install\fR for more info\. It can do a lot of stuff\.
+.
+.P
+Use the \fBnpm search\fR command to show everything that\'s available\.
+Use \fBnpm ls\fR to show everything you\'ve installed\.
+.
+.SH "DIRECTORIES"
+See \fBnpm help folders\fR to learn about where npm puts stuff\.
+.
+.P
+In particular, npm has two modes of operation:
+.
+.IP "\(bu" 4
+global mode:
+.
+.br
+npm installs packages into the install prefix at \fBprefix/lib/node_modules\fR and bins are installed in \fBprefix/bin\fR\|\.
+.
+.IP "\(bu" 4
+local mode:
+.
+.br
+npm installs packages into the current project directory, which
+defaults to the current working directory\. Packages are installed to \fB\|\./node_modules\fR, and bins are installed to \fB\|\./node_modules/\.bin\fR\|\.
+.
+.IP "" 0
+.
+.P
+Local mode is the default\. Use \fB\-\-global\fR or \fB\-g\fR on any command to
+operate in global mode instead\.
+.
+.SH "DEVELOPER USAGE"
+If you\'re using npm to develop and publish your code, check out the
+following help topics:
+.
+.IP "\(bu" 4
+json:
+Make a package\.json file\. See \fBnpm help json\fR\|\.
+.
+.IP "\(bu" 4
+link:
+For linking your current working code into Node\'s path, so that you
+don\'t have to reinstall every time you make a change\. Use \fBnpm link\fR to do this\.
+.
+.IP "\(bu" 4
+install:
+It\'s a good idea to install things if you don\'t need the symbolic link\.
+Especially, installing other peoples code from the registry is done via \fBnpm install\fR
+.
+.IP "\(bu" 4
+adduser:
+Create an account or log in\. Creditials are stored in the
+user config file\.
+.
+.IP "\(bu" 4
+publish:
+Use the \fBnpm publish\fR command to upload your code to the registry\.
+.
+.IP "" 0
+.
+.SH "CONFIGURATION"
+npm is extremely configurable\. It reads its configuration options from
+5 places\.
+.
+.IP "\(bu" 4
+Command line switches:
+.
+.br
+Set a config with \fB\-\-key val\fR\|\. All keys take a value, even if they
+are booleans (the config parser doesn\'t know what the options are at
+the time of parsing\.) If no value is provided, then the option is set
+to boolean \fBtrue\fR\|\.
+.
+.IP "\(bu" 4
+Environment Variables:
+.
+.br
+Set any config by prefixing the name in an environment variable with \fBnpm_config_\fR\|\. For example, \fBexport npm_config_key=val\fR\|\.
+.
+.IP "\(bu" 4
+User Configs:
+.
+.br
+The file at $HOME/\.npmrc is an ini\-formatted list of configs\. If
+present, it is parsed\. If the \fBuserconfig\fR option is set in the cli
+or env, then that will be used instead\.
+.
+.IP "\(bu" 4
+Global Configs:
+.
+.br
+The file found at \.\./etc/npmrc (from the node executable, by default
+this resolves to /usr/local/etc/npmrc) will be parsed if it is found\.
+If the \fBglobalconfig\fR option is set in the cli, env, or user config,
+then that file is parsed instead\.
+.
+.IP "\(bu" 4
+Defaults:
+.
+.br
+npm\'s default configuration options are defined in
+lib/utils/config\-defs\.js\. These must not be changed\.
+.
+.IP "" 0
+.
+.P
+See \fBnpm help config\fR for much much more information\.
+.
+.SH "CONTRIBUTIONS"
+Patches welcome!
+.
+.IP "\(bu" 4
+code:
+Read through \fBnpm help coding\-style\fR if you plan to submit code\.
+You don\'t have to agree with it, but you do have to follow it\.
+.
+.IP "\(bu" 4
+docs:
+If you find an error in the documentation, edit the appropriate markdown
+file in the "doc" folder\. (Don\'t worry about generating the man page\.)
+.
+.IP "" 0
+.
+.P
+Contributors are listed in npm\'s \fBpackage\.json\fR file\. You can view them
+easily by doing \fBnpm view npm contributors\fR\|\.
+.
+.P
+If you would like to contribute, but don\'t know what to work on, check
+the issues list or ask on the mailing list\.
+.
+.IP "\(bu" 4
+\fIhttp://github\.com/isaacs/npm/issues\fR
+.
+.IP "\(bu" 4
+\fInpm\-@googlegroups\.com\fR
+.
+.IP "" 0
+.
+.SH "BUGS"
+When you find issues, please report them:
+.
+.IP "\(bu" 4
+web: \fIhttp://github\.com/isaacs/npm/issues\fR
+.
+.IP "\(bu" 4
+email: \fInpm\-@googlegroups\.com\fR
+.
+.IP "" 0
+.
+.P
+Be sure to include \fIall\fR of the output from the npm command that didn\'t work
+as expected\. The \fBnpm\-debug\.log\fR file is also helpful to provide\.
+.
+.P
+You can also look for isaacs in #node\.js on irc://irc\.freenode\.net\. He
+will no doubt tell you to put the output in a gist or email\.
+.
+.SH "HISTORY"
+See npm help changelog
+.
+.SH "AUTHOR"
+Isaac Z\. Schlueter \fIhttp://blog\.izs\.me/\fR :: isaacs \fIhttps://github\.com/isaacs/\fR :: @izs \fIhttp://twitter\.com/izs\fR :: \fIi@izs\.me\fR
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help help
+.
+.IP "\(bu" 4
+npm help faq
+.
+.IP "\(bu" 4
+README
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help index
+.
+.IP "\(bu" 4
+npm apihelp npm
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/outdated.1 b/deps/npm/man/man1/outdated.1
new file mode 100644
index 0000000000..cb4c99de55
--- /dev/null
+++ b/deps/npm/man/man1/outdated.1
@@ -0,0 +1,32 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-OUTDATED" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-outdated\fR \-\- Check for outdated packages
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm outdated [<name> [<name> \.\.\.]]
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command will check the registry to see if any (or, specific) installed
+packages are currently outdated\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help update
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/owner.1 b/deps/npm/man/man1/owner.1
new file mode 100644
index 0000000000..6373c3ee4d
--- /dev/null
+++ b/deps/npm/man/man1/owner.1
@@ -0,0 +1,55 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-OWNER" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-owner\fR \-\- Manage package owners
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm owner ls <package name>
+npm owner add <user> <package name>
+npm owner rm <user> <package name>
+.
+.fi
+.
+.SH "DESCRIPTION"
+Manage ownership of published packages\.
+.
+.IP "\(bu" 4
+ls:
+List all the users who have access to modify a package and push new versions\.
+Handy when you need to know who to bug for help\.
+.
+.IP "\(bu" 4
+add:
+Add a new user as a maintainer of a package\. This user is enabled to modify
+metadata, publish new versions, and add other owners\.
+.
+.IP "\(bu" 4
+rm:
+Remove a user from the package owner list\. This immediately revokes their
+privileges\.
+.
+.IP "" 0
+.
+.P
+Note that there is only one level of access\. Either you can modify a package,
+or you can\'t\. Future versions may contain more fine\-grained access levels, but
+that is not implemented at this time\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help publish
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "\(bu" 4
+npm help adduser
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/pack.1 b/deps/npm/man/man1/pack.1
new file mode 100644
index 0000000000..2a33ecaa0e
--- /dev/null
+++ b/deps/npm/man/man1/pack.1
@@ -0,0 +1,42 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-PACK" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-pack\fR \-\- Create a tarball from a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm pack [<pkg> [<pkg> \.\.\.]]
+.
+.fi
+.
+.SH "DESCRIPTION"
+For anything that\'s installable (that is, a package folder, tarball,
+tarball url, name@tag, name@version, or name), this command will fetch
+it to the cache, and then copy the tarball to the current working
+directory as \fB<name>\-<version>\.tgz\fR, and then write the filenames out to
+stdout\.
+.
+.P
+If the same package is specified multiple times, then the file will be
+overwritten the second time\.
+.
+.P
+If no arguments are supplied, then npm packs the current package folder\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help cache
+.
+.IP "\(bu" 4
+npm help publish
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/prefix.1 b/deps/npm/man/man1/prefix.1
new file mode 100644
index 0000000000..c2a304a108
--- /dev/null
+++ b/deps/npm/man/man1/prefix.1
@@ -0,0 +1,34 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-PREFIX" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-prefix\fR \-\- Display prefix
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm prefix
+.
+.fi
+.
+.SH "DESCRIPTION"
+Print the prefix to standard out\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help root
+.
+.IP "\(bu" 4
+npm help bin
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/prune.1 b/deps/npm/man/man1/prune.1
new file mode 100644
index 0000000000..ab1fdc5e93
--- /dev/null
+++ b/deps/npm/man/man1/prune.1
@@ -0,0 +1,37 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-PRUNE" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-prune\fR \-\- Remove extraneous packages
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm prune [<name> [<name \.\.\.]]
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command removes "extraneous" packages\. If a package name is
+provided, then only packages matching one of the supplied names are
+removed\.
+.
+.P
+Extraneous packages are packages that are not listed on the parent
+package\'s dependencies list\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help rm
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help list
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/publish.1 b/deps/npm/man/man1/publish.1
new file mode 100644
index 0000000000..b8540d0cdf
--- /dev/null
+++ b/deps/npm/man/man1/publish.1
@@ -0,0 +1,53 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-PUBLISH" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-publish\fR \-\- Publish a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm publish <tarball>
+npm publish <folder>
+.
+.fi
+.
+.SH "DESCRIPTION"
+Publishes a package to the registry so that it can be installed by name\.
+.
+.IP "\(bu" 4
+\fB<folder>\fR:
+A folder containing a package\.json file
+.
+.IP "\(bu" 4
+\fB<tarball>\fR:
+A url or file path to a gzipped tar archive containing a single folder
+with a package\.json file inside\.
+.
+.IP "" 0
+.
+.P
+Fails if the package name and version combination already exists in
+the registry\. Overwrites when the "\-\-force" flag is set\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "\(bu" 4
+npm help adduser
+.
+.IP "\(bu" 4
+npm help owner
+.
+.IP "\(bu" 4
+npm help deprecate
+.
+.IP "\(bu" 4
+npm help tag
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/rebuild.1 b/deps/npm/man/man1/rebuild.1
new file mode 100644
index 0000000000..5c372086d8
--- /dev/null
+++ b/deps/npm/man/man1/rebuild.1
@@ -0,0 +1,36 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-REBUILD" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-rebuild\fR \-\- Rebuild a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm rebuild [<name> [<name> \.\.\.]]
+.
+.fi
+.
+.IP "\(bu" 4
+\fB<name>\fR:
+The package to rebuild
+.
+.IP "" 0
+.
+.SH "DESCRIPTION"
+This command runs the \fBnpm build\fR command on the matched folders\. This is useful
+when you install a new version of node, and must recompile all your C++ addons with
+the new binary\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help build
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/registry.1 b/deps/npm/man/man1/registry.1
new file mode 100644
index 0000000000..098997096f
--- /dev/null
+++ b/deps/npm/man/man1/registry.1
@@ -0,0 +1,107 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-REGISTRY" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-registry\fR \-\- The JavaScript Package Registry
+.
+.SH "DESCRIPTION"
+To resolve packages by name and version, npm talks to a registry website
+that implements the CommonJS Package Registry specification for reading
+package info\.
+.
+.P
+Additionally, npm\'s package registry implementation supports several
+write APIs as well, to allow for publishing packages and managing user
+account information\.
+.
+.P
+The official public npm registry is at \fIhttp://registry\.npmjs\.org/\fR\|\. It
+is powered by a CouchDB database at \fIhttp://isaacs\.couchone\.com/registry\fR\|\. The code for the couchapp is
+available at \fIhttp://github\.com/isaacs/npmjs\.org\fR\|\. npm user accounts
+are CouchDB users, stored in the \fIhttp://isaacs\.couchone\.com/_users\fR
+database\.
+.
+.P
+The registry URL is supplied by the \fBregistry\fR config parameter\. See \fBnpm help config\fR for more on managing npm\'s configuration\.
+.
+.SH "Can I run my own private registry?"
+Yes!
+.
+.P
+The easiest way is to replicate the couch database, and use the same (or
+similar) design doc to implement the APIs\.
+.
+.P
+If you set up continuous replication from the official CouchDB, and then
+set your internal CouchDB as the registry config, then you\'ll be able
+to read any published packages, in addition to your private ones, and by
+default will only publish internally\. If you then want to publish a
+package for the whole world to see, you can simply override the \fB\-\-registry\fR config for that command\.
+.
+.SH "I don\'t want my package published in the official registry\. It\'s private\."
+Set \fB"private": true\fR in your package\.json to prevent it from being
+published at all, or \fB"publishConfig":{"registry":"http://my\-internal\-registry\.local"}\fR
+to force it to be published only to your internal registry\.
+.
+.P
+See \fBnpm help json\fR for more info on what goes in the package\.json file\.
+.
+.SH "Will you replicate from my registry into the public one?"
+No\. If you want things to be public, then publish them into the public
+registry using npm\. What little security there is would be for nought
+otherwise\.
+.
+.SH "Do I have to use couchdb to build a registry that npm can talk to?"
+No, but it\'s way easier\.
+.
+.SH "I published something elsewhere, and want to tell the npm registry about it\."
+That is supported, but not using the npm client\. You\'ll have to get
+your hands dirty and do some HTTP\. The request looks something like
+this:
+.
+.IP "" 4
+.
+.nf
+PUT /my\-foreign\-package
+content\-type:application/json
+accept:application/json
+authorization:Basic $base_64_encoded
+{ "name":"my\-foreign\-package"
+, "maintainers":["owner","usernames"]
+, "description":"A package that is hosted elsewhere"
+, "keywords":["nih","my cheese smells the best"]
+, "url":"http://my\-different\-registry\.com/blerg/my\-local\-package"
+}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+(Keywords and description are optional, but recommended\. Name,
+maintainers, and url are required\.)
+.
+.P
+Then, when a user tries to install "my\-foreign\-package", it\'ll redirect
+to your registry\. If that doesn\'t resolve to a valid package entry,
+then it\'ll fail, so please make sure that you understand the spec, and
+ask for help on the \fInpm\-@googlegroups\.com\fR mailing list\.
+.
+.SH "Is there a website or something to see package docs and such?"
+No, but such a thing is planned, and a tiny bit developed\.
+.
+.P
+Stay tuned!
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help developers
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/removing-npm.1 b/deps/npm/man/man1/removing-npm.1
new file mode 100644
index 0000000000..3e604ee50a
--- /dev/null
+++ b/deps/npm/man/man1/removing-npm.1
@@ -0,0 +1,107 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-REMOVAL" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-removal\fR \-\- Cleaning the Slate
+.
+.SH "SYNOPSIS"
+So sad to see you go\.
+.
+.IP "" 4
+.
+.nf
+sudo npm uninstall npm \-g
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Or, if that fails, get the npm source code, and do:
+.
+.IP "" 4
+.
+.nf
+sudo make uninstall
+.
+.fi
+.
+.IP "" 0
+.
+.SH "More Severe Uninstalling"
+Usually, the above instructions are sufficient\. That will remove
+npm, but leave behind anything you\'ve installed\.
+.
+.P
+If that doesn\'t work, or if you require more drastic measures,
+continue reading\.
+.
+.P
+Note that this is only necessary for globally\-installed packages\. Local
+installs are completely contained within a project\'s \fBnode_modules\fR
+folder\. Delete that folder, and everything is gone (unless a package\'s
+install script is particularly ill\-behaved)\.
+.
+.P
+This assumes that you installed node and npm in the default place\. If
+you configured node with a different \fB\-\-prefix\fR, or installed npm with a
+different prefix setting, then adjust the paths accordingly, replacing \fB/usr/local\fR with your install prefix\.
+.
+.P
+To remove everything npm\-related manually:
+.
+.IP "" 4
+.
+.nf
+rm \-rf /usr/local/{lib/node{,/\.npm,_modules},bin,share/man}/npm*
+.
+.fi
+.
+.IP "" 0
+.
+.P
+If you installed things \fIwith\fR npm, then your best bet is to uninstall
+them with npm first, and then install them again once you have a
+proper install\. This can help find any symlinks that are lying
+around:
+.
+.IP "" 4
+.
+.nf
+ls \-laF /usr/local/{lib/node{,/\.npm},bin,share/man} | grep npm
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Prior to version 0\.3, npm used shim files for executables and node
+modules\. To track those down, you can do the following:
+.
+.IP "" 4
+.
+.nf
+find /usr/local/{lib/node,bin} \-exec grep \-l npm \\{\\} \\; ;
+.
+.fi
+.
+.IP "" 0
+.
+.P
+(This is also in the README file\.)
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+README
+.
+.IP "\(bu" 4
+npm help rm
+.
+.IP "\(bu" 4
+npm help prune
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/restart.1 b/deps/npm/man/man1/restart.1
new file mode 100644
index 0000000000..def457b099
--- /dev/null
+++ b/deps/npm/man/man1/restart.1
@@ -0,0 +1,42 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-RESTART" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-restart\fR \-\- Start a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm restart <name>
+.
+.fi
+.
+.SH "DESCRIPTION"
+This runs a package\'s "restart" script, if one was provided\.
+Otherwise it runs package\'s "stop" script, if one was provided, and then
+the "start" script\.
+.
+.P
+If no version is specified, then it restarts the "active" version\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help run\-script
+.
+.IP "\(bu" 4
+npm help scripts
+.
+.IP "\(bu" 4
+npm help test
+.
+.IP "\(bu" 4
+npm help start
+.
+.IP "\(bu" 4
+npm help stop
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/rm.1 b/deps/npm/man/man1/rm.1
new file mode 100644
index 0000000000..5df95889a9
--- /dev/null
+++ b/deps/npm/man/man1/rm.1
@@ -0,0 +1,36 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-RM" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-rm\fR \-\- Remove a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm rm <name>
+npm uninstall <name>
+.
+.fi
+.
+.SH "DESCRIPTION"
+This uninstalls a package, completely removing everything npm installed
+on its behalf\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help prune
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/root.1 b/deps/npm/man/man1/root.1
new file mode 100644
index 0000000000..b12419b8f4
--- /dev/null
+++ b/deps/npm/man/man1/root.1
@@ -0,0 +1,34 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-ROOT" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-root\fR \-\- Display npm root
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm root
+.
+.fi
+.
+.SH "DESCRIPTION"
+Print the effective \fBnode_modules\fR folder to standard out\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help prefix
+.
+.IP "\(bu" 4
+npm help bin
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/run-script.1 b/deps/npm/man/man1/run-script.1
new file mode 100644
index 0000000000..0c49f5c814
--- /dev/null
+++ b/deps/npm/man/man1/run-script.1
@@ -0,0 +1,41 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-RUN\-SCRIPT" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-run-script\fR \-\- Run arbitrary package scripts
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm run\-script <script> <name>
+.
+.fi
+.
+.SH "DESCRIPTION"
+This runs an arbitrary command from a package\'s "scripts" object\.
+.
+.P
+It is used by the test, start, restart, and stop commands, but can be
+called directly, as well\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help scripts
+.
+.IP "\(bu" 4
+npm help test
+.
+.IP "\(bu" 4
+npm help start
+.
+.IP "\(bu" 4
+npm help restart
+.
+.IP "\(bu" 4
+npm help stop
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/scripts.1 b/deps/npm/man/man1/scripts.1
new file mode 100644
index 0000000000..49030467df
--- /dev/null
+++ b/deps/npm/man/man1/scripts.1
@@ -0,0 +1,272 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-SCRIPTS" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-scripts\fR \-\- How npm handles the "scripts" field
+.
+.SH "DESCRIPTION"
+npm supports the "scripts" member of the package\.json script, for the
+following scripts:
+.
+.IP "\(bu" 4
+preinstall:
+Run BEFORE the package is installed
+.
+.IP "\(bu" 4
+install, postinstall:
+Run AFTER the package is installed\.
+.
+.IP "\(bu" 4
+preuninstall, uninstall:
+Run BEFORE the package is uninstalled\.
+.
+.IP "\(bu" 4
+postuninstall:
+Run AFTER the package is uninstalled\.
+.
+.IP "\(bu" 4
+preupdate:
+Run BEFORE the package is updated with the update command\.
+.
+.IP "\(bu" 4
+update, postupdate:
+Run AFTER the package is updated with the update command\.
+.
+.IP "\(bu" 4
+prepublish:
+Run BEFORE the package is published\.
+.
+.IP "\(bu" 4
+publish, postpublish:
+Run AFTER the package is published\.
+.
+.IP "\(bu" 4
+pretest, test, posttest:
+Run by the \fBnpm test\fR command\.
+.
+.IP "\(bu" 4
+prestop, stop, poststop:
+Run by the \fBnpm stop\fR command\.
+.
+.IP "\(bu" 4
+prestart, start, poststart:
+Run by the \fBnpm start\fR command\.
+.
+.IP "\(bu" 4
+prerestart, restart, postrestart:
+Run by the \fBnpm restart\fR command\. Note: \fBnpm restart\fR will run the
+stop and start scripts if no \fBrestart\fR script is provided\.
+.
+.IP "" 0
+.
+.P
+Additionally, arbitrary scrips can be run by doing \fBnpm run\-script <stage> <pkg>\fR\|\.
+.
+.SH "DEFAULT VALUES"
+npm will default some script values based on package contents\.
+.
+.IP "\(bu" 4
+\fB"start": "node server\.js"\fR:
+.
+.IP
+If there is a \fBserver\.js\fR file in the root of your package, then npm
+will default the \fBstart\fR command to \fBnode server\.js\fR\|\.
+.
+.IP "\(bu" 4
+\fB"preinstall": "node\-waf clean || true; node\-waf configure build"\fR:
+.
+.IP
+If there is a \fBwscript\fR file in the root of your package, npm will
+default the \fBpreinstall\fR command to compile using node\-waf\.
+.
+.IP "" 0
+.
+.SH "USER"
+If npm was invoked with root privileges, then it will change the uid to
+the user account or uid specified by the \fBuser\fR config, which defaults
+to \fBnobody\fR\|\. Set the \fBunsafe\-perm\fR flag to run scripts with root
+privileges\.
+.
+.SH "ENVIRONMENT"
+Package scripts run in an environment where many pieces of information are
+made available regarding the setup of npm and the current state of the
+process\.
+.
+.SS "package\.json vars"
+The package\.json fields are tacked onto the \fBnpm_package_\fR prefix\. So, for
+instance, if you had \fB{"name":"foo", "version":"1\.2\.5"}\fR in your package\.json
+file, then your package scripts would have the \fBnpm_package_name\fR environment
+variable set to "foo", and the \fBnpm_package_version\fR set to "1\.2\.5"
+.
+.SS "configuration"
+Configuration parameters are put in the environment with the \fBnpm_config_\fR
+prefix\. For instance, you can view the effective \fBroot\fR config by checking the \fBnpm_config_root\fR environment variable\.
+.
+.SS "Special: package\.json "config" hash"
+The package\.json "config" keys are overwritten in the environment if
+there is a config param of \fB<name>[@<version>]:<key>\fR\|\. For example, if
+the package\.json has this:
+.
+.IP "" 4
+.
+.nf
+{ "name" : "foo"
+, "config" : { "port" : "8080" }
+, "scripts" : { "start" : "node server\.js" } }
+.
+.fi
+.
+.IP "" 0
+.
+.P
+and the server\.js is this:
+.
+.IP "" 4
+.
+.nf
+http\.createServer(\.\.\.)\.listen(process\.env\.npm_package_config_port)
+.
+.fi
+.
+.IP "" 0
+.
+.P
+then the user could change the behavior by doing:
+.
+.IP "" 4
+.
+.nf
+npm config set foo:port 80
+.
+.fi
+.
+.IP "" 0
+.
+.SS "current lifecycle event"
+Lastly, the \fBnpm_lifecycle_event\fR environment variable is set to whichever
+stage of the cycle is being executed\. So, you could have a single script used
+for different parts of the process which switches based on what\'s currently
+happening\.
+.
+.P
+Objects are flattened following this format, so if you had \fB{"scripts":{"install":"foo\.js"}}\fR in your package\.json, then you\'d see this
+in the script:
+.
+.IP "" 4
+.
+.nf
+process\.env\.npm_package_scripts_install === "foo\.js"
+.
+.fi
+.
+.IP "" 0
+.
+.SH "EXAMPLES"
+For example, if your package\.json contains this:
+.
+.IP "" 4
+.
+.nf
+{ "scripts" :
+ { "install" : "scripts/install\.js"
+ , "postinstall" : "scripts/install\.js"
+ , "uninstall" : "scripts/uninstall\.js"
+ }
+}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+then the \fBscripts/install\.js\fR will be called for the install, post\-install,
+stages of the lifecycle, and the \fBscripts/uninstall\.js\fR would be
+called when the package is uninstalled\. Since \fBscripts/install\.js\fR is running
+for three different phases, it would be wise in this case to look at the \fBnpm_lifecycle_event\fR environment variable\.
+.
+.P
+If you want to run a make command, you can do so\. This works just fine:
+.
+.IP "" 4
+.
+.nf
+{ "scripts" :
+ { "preinstall" : "\./configure"
+ , "install" : "make && make install"
+ , "test" : "make test"
+ }
+}
+.
+.fi
+.
+.IP "" 0
+.
+.SH "EXITING"
+Scripts are run by passing the line as a script argument to \fBsh\fR\|\.
+.
+.P
+If the script exits with a code other than 0, then this will abort the
+process\.
+.
+.P
+Note that these script files don\'t have to be nodejs or even javascript
+programs\. They just have to be some kind of executable file\.
+.
+.SH "HOOK SCRIPTS"
+If you want to run a specific script at a specific lifecycle event for ALL
+packages, then you can use a hook script\.
+.
+.P
+Place an executable file at \fBnode_modules/\.hooks/{eventname}\fR, and it\'ll get
+run for all packages when they are going through that point in the package
+lifecycle for any packages installed in that root\.
+.
+.P
+Hook scripts are run exactly the same way as package\.json scripts\. That is,
+they are in a separate child process, with the env described above\.
+.
+.SH "BEST PRACTICES"
+.
+.IP "\(bu" 4
+Don\'t exit with a non\-zero error code unless you \fIreally\fR mean it\.
+Except for uninstall scripts, this will cause the npm action
+to fail, and potentially be rolled back\. If the failure is minor or
+only will prevent some optional features, then it\'s better to just
+print a warning and exit successfully\.
+.
+.IP "\(bu" 4
+Try not to use scripts to do what npm can do for you\. Read through \fBnpm help json\fR to see all the things that you can specify and enable
+by simply describing your package appropriately\. In general, this will
+lead to a more robust and consistent state\.
+.
+.IP "\(bu" 4
+Inspect the env to determine where to put things\. For instance, if
+the \fBnpm_config_binroot\fR environ is set to \fB/home/user/bin\fR, then don\'t
+try to install executables into \fB/usr/local/bin\fR\|\. The user probably
+set it up that way for a reason\.
+.
+.IP "\(bu" 4
+Don\'t prefix your script commands with "sudo"\. If root permissions are
+required for some reason, then it\'ll fail with that error, and the user
+will sudo the npm command in question\.
+.
+.IP "" 0
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help run\-script
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "\(bu" 4
+npm help developers
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/search.1 b/deps/npm/man/man1/search.1
new file mode 100644
index 0000000000..653597ffa8
--- /dev/null
+++ b/deps/npm/man/man1/search.1
@@ -0,0 +1,72 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-SEARCH" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-search\fR \-\- Search for packages
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm search [search terms \.\.\.]
+.
+.fi
+.
+.SH "DESCRIPTION"
+Search the registry for packages matching the search terms\.
+.
+.SH "CONFIGURATION"
+.
+.SS "description"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Show the description in \fBnpm search\fR
+.
+.SS "searchopts"
+.
+.IP "\(bu" 4
+Default: ""
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+Space\-separated options that are always passed to search\.
+.
+.SS "searchexclude"
+.
+.IP "\(bu" 4
+Default: ""
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+Space\-separated options that limit the results from search\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help view
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/semver.1 b/deps/npm/man/man1/semver.1
new file mode 100644
index 0000000000..2280f6db36
--- /dev/null
+++ b/deps/npm/man/man1/semver.1
@@ -0,0 +1,221 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-SEMVER" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-semver\fR \-\- The semantic versioner for npm
+.
+.SH "SYNOPSIS"
+The npm semantic versioning utility\.
+.
+.SH "DESCRIPTION"
+As a node module:
+.
+.IP "" 4
+.
+.nf
+$ npm install semver
+semver\.valid(\'1\.2\.3\') // true
+semver\.valid(\'a\.b\.c\') // false
+semver\.clean(\' =v1\.2\.3 \') // \'1\.2\.3\'
+semver\.satisfies(\'1\.2\.3\', \'1\.x || >=2\.5\.0 || 5\.0\.0 \- 7\.2\.3\') // true
+semver\.gt(\'1\.2\.3\', \'9\.8\.7\') // false
+semver\.lt(\'1\.2\.3\', \'9\.8\.7\') // true
+.
+.fi
+.
+.IP "" 0
+.
+.P
+As a command\-line utility:
+.
+.IP "" 4
+.
+.nf
+$ npm install semver \-g
+$ semver \-h
+Usage: semver \-v <version> [\-r <range>]
+Test if version(s) satisfy the supplied range(s),
+and sort them\.
+Multiple versions or ranges may be supplied\.
+Program exits successfully if any valid version satisfies
+all supplied ranges, and prints all satisfying versions\.
+If no versions are valid, or ranges are not satisfied,
+then exits failure\.
+Versions are printed in ascending order, so supplying
+multiple versions to the utility will just sort them\.
+.
+.fi
+.
+.IP "" 0
+.
+.SH "Versions"
+A version is the following things, in this order:
+.
+.IP "\(bu" 4
+a number (Major)
+.
+.IP "\(bu" 4
+a period
+.
+.IP "\(bu" 4
+a number (minor)
+.
+.IP "\(bu" 4
+a period
+.
+.IP "\(bu" 4
+a number (patch)
+.
+.IP "\(bu" 4
+OPTIONAL: a hyphen, followed by a number (build)
+.
+.IP "\(bu" 4
+OPTIONAL: a collection of pretty much any non\-whitespace characters
+(tag)
+.
+.IP "" 0
+.
+.P
+A leading \fB"="\fR or \fB"v"\fR character is stripped off and ignored\.
+.
+.SH "Comparisons"
+The ordering of versions is done using the following algorithm, given
+two versions and asked to find the greater of the two:
+.
+.IP "\(bu" 4
+If the majors are numerically different, then take the one
+with a bigger major number\. \fB2\.3\.4 > 1\.3\.4\fR
+.
+.IP "\(bu" 4
+If the minors are numerically different, then take the one
+with the bigger minor number\. \fB2\.3\.4 > 2\.2\.4\fR
+.
+.IP "\(bu" 4
+If the patches are numerically different, then take the one with the
+bigger patch number\. \fB2\.3\.4 > 2\.3\.3\fR
+.
+.IP "\(bu" 4
+If only one of them has a build number, then take the one with the
+build number\. \fB2\.3\.4\-0 > 2\.3\.4\fR
+.
+.IP "\(bu" 4
+If they both have build numbers, and the build numbers are numerically
+different, then take the one with the bigger build number\. \fB2\.3\.4\-10 > 2\.3\.4\-9\fR
+.
+.IP "\(bu" 4
+If only one of them has a tag, then take the one without the tag\. \fB2\.3\.4 > 2\.3\.4\-beta\fR
+.
+.IP "\(bu" 4
+If they both have tags, then take the one with the lexicographically
+larger tag\. \fB2\.3\.4\-beta > 2\.3\.4\-alpha\fR
+.
+.IP "\(bu" 4
+At this point, they\'re equal\.
+.
+.IP "" 0
+.
+.SH "Ranges"
+The following range styles are supported:
+.
+.IP "\(bu" 4
+\fB>1\.2\.3\fR Greater than a specific version\.
+.
+.IP "\(bu" 4
+\fB<1\.2\.3\fR Less than
+.
+.IP "\(bu" 4
+\fB1\.2\.3 \- 2\.3\.4\fR := \fB>=1\.2\.3 <=2\.3\.4\fR
+.
+.IP "\(bu" 4
+\fB~1\.2\.3\fR := \fB>=1\.2\.3 <1\.3\.0\fR
+.
+.IP "\(bu" 4
+\fB~1\.2\fR := \fB>=1\.2\.0 <2\.0\.0\fR
+.
+.IP "\(bu" 4
+\fB~1\fR := \fB>=1\.0\.0 <2\.0\.0\fR
+.
+.IP "\(bu" 4
+\fB1\.2\.x\fR := \fB>=1\.2\.0 <1\.3\.0\fR
+.
+.IP "\(bu" 4
+\fB1\.x\fR := \fB>=1\.0\.0 <2\.0\.0\fR
+.
+.IP "" 0
+.
+.P
+Ranges can be joined with either a space (which implies "and") or a \fB||\fR (which implies "or")\.
+.
+.SH "Functions"
+.
+.IP "\(bu" 4
+valid(v): Return the parsed version, or null if it\'s not valid\.
+.
+.IP "\(bu" 4
+inc(v, release): Return the version incremented by the release type
+(major, minor, patch, or build), or null if it\'s not valid\.
+.
+.IP "" 0
+.
+.SS "Comparison"
+.
+.IP "\(bu" 4
+gt(v1, v2): \fBv1 > v2\fR
+.
+.IP "\(bu" 4
+gte(v1, v2): \fBv1 >= v2\fR
+.
+.IP "\(bu" 4
+lt(v1, v2): \fBv1 < v2\fR
+.
+.IP "\(bu" 4
+lte(v1, v2): \fBv1 <= v2\fR
+.
+.IP "\(bu" 4
+eq(v1, v2): \fBv1 == v2\fR This is true if they\'re logically equivalent,
+even if they\'re not the exact same string\. You already know how to
+compare strings\.
+.
+.IP "\(bu" 4
+neq(v1, v2): \fBv1 != v2\fR The opposite of eq\.
+.
+.IP "\(bu" 4
+cmp(v1, comparator, v2): Pass in a comparison string, and it\'ll call
+the corresponding function above\. \fB"==="\fR and \fB"!=="\fR do simple
+string comparison, but are included for completeness\. Throws if an
+invalid comparison string is provided\.
+.
+.IP "\(bu" 4
+compare(v1, v2): Return 0 if v1 == v2, or 1 if v1 is greater, or \-1 if
+v2 is greater\. Sorts in ascending order if passed to Array\.sort()\.
+.
+.IP "\(bu" 4
+rcompare(v1, v2): The reverse of compare\. Sorts an array of versions
+in descending order when passed to Array\.sort()\.
+.
+.IP "" 0
+.
+.SS "Ranges"
+.
+.IP "\(bu" 4
+validRange(range): Return the valid range or null if it\'s not valid
+.
+.IP "\(bu" 4
+satisfies(version, range): Return true if the version satisfies the
+range\.
+.
+.IP "\(bu" 4
+maxSatisfying(versions, range): Return the highest version in the list
+that satisfies the range, or null if none of them do\.
+.
+.IP "" 0
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/set.1 b/deps/npm/man/man1/set.1
new file mode 100644
index 0000000000..5075c9f0cc
--- /dev/null
+++ b/deps/npm/man/man1/set.1
@@ -0,0 +1,1154 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-CONFIG" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-config\fR \-\- Manage the npm configuration file
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm config set <key> <value> [\-\-global]
+npm config get <key>
+npm config delete <key>
+npm config list
+npm config edit
+npm get <key>
+npm set <key> <value> [\-\-global]
+.
+.fi
+.
+.SH "DESCRIPTION"
+npm gets its configuration values from 6 sources, in this priority:
+.
+.SS "Command Line Flags"
+Putting \fB\-\-foo bar\fR on the command line sets the \fBfoo\fR configuration parameter to \fB"bar"\fR\|\. A \fB\-\-\fR argument tells the cli
+parser to stop reading flags\. A \fB\-\-flag\fR parameter that is at the \fIend\fR of
+the command will be given the value of \fBtrue\fR\|\.
+.
+.SS "Environment Variables"
+Any environment variables that start with \fBnpm_config_\fR will be interpreted
+as a configuration parameter\. For example, putting \fBnpm_config_foo=bar\fR in
+your environment will set the \fBfoo\fR configuration parameter to \fBbar\fR\|\. Any
+environment configurations that are not given a value will be given the value
+of \fBtrue\fR\|\. Config values are case\-insensitive, so \fBNPM_CONFIG_FOO=bar\fR will
+work the same\.
+.
+.SS "Per\-user config file"
+\fB$HOME/\.npmrc\fR (or the \fBuserconfig\fR param, if set above)
+.
+.P
+This file is an ini\-file formatted list of \fBkey = value\fR parameters\.
+.
+.SS "Global config file"
+\fB$PREFIX/etc/npmrc\fR (or the \fBglobalconfig\fR param, if set above):
+This file is an ini\-file formatted list of \fBkey = value\fR parameters
+.
+.SS "Built\-in config file"
+\fBpath/to/npm/itself/npmrc\fR
+.
+.P
+This is an unchangeable "builtin"
+configuration file that npm keeps consistent across updates\. Set
+fields in here using the \fB\|\./configure\fR script that comes with npm\.
+This is primarily for distribution maintainers to override default
+configs in a standard and consistent manner\.
+.
+.SS "Default Configs"
+A set of configuration parameters that are internal to npm, and are
+defaults if nothing else is specified\.
+.
+.SH "Sub\-commands"
+Config supports the following sub\-commands:
+.
+.SS "set"
+.
+.nf
+npm config set key value
+.
+.fi
+.
+.P
+Sets the config key to the value\.
+.
+.P
+If value is omitted, then it sets it to "true"\.
+.
+.SS "get"
+.
+.nf
+npm config get key
+.
+.fi
+.
+.P
+Echo the config value to stdout\.
+.
+.SS "list"
+.
+.nf
+npm config list
+.
+.fi
+.
+.P
+Show all the config settings\.
+.
+.SS "delete"
+.
+.nf
+npm config delete key
+.
+.fi
+.
+.P
+Deletes the key from all configuration files\.
+.
+.SS "edit"
+.
+.nf
+npm config edit
+.
+.fi
+.
+.P
+Opens the config file in an editor\. Use the \fB\-\-global\fR flag to edit the
+global config\.
+.
+.SH "Shorthands and Other CLI Niceties"
+The following shorthands are parsed on the command\-line:
+.
+.IP "\(bu" 4
+\fB\-v\fR: \fB\-\-version\fR
+.
+.IP "\(bu" 4
+\fB\-h\fR, \fB\-?\fR, \fB\-\-help\fR, \fB\-H\fR: \fB\-\-usage\fR
+.
+.IP "\(bu" 4
+\fB\-s\fR, \fB\-\-silent\fR: \fB\-\-loglevel silent\fR
+.
+.IP "\(bu" 4
+\fB\-d\fR: \fB\-\-loglevel info\fR
+.
+.IP "\(bu" 4
+\fB\-dd\fR, \fB\-\-verbose\fR: \fB\-\-loglevel verbose\fR
+.
+.IP "\(bu" 4
+\fB\-ddd\fR: \fB\-\-loglevel silly\fR
+.
+.IP "\(bu" 4
+\fB\-g\fR: \fB\-\-global\fR
+.
+.IP "\(bu" 4
+\fB\-l\fR: \fB\-\-long\fR
+.
+.IP "\(bu" 4
+\fB\-m\fR: \fB\-\-message\fR
+.
+.IP "\(bu" 4
+\fB\-p\fR, \fB\-\-porcelain\fR: \fB\-\-parseable\fR
+.
+.IP "\(bu" 4
+\fB\-reg\fR: \fB\-\-registry\fR
+.
+.IP "\(bu" 4
+\fB\-v\fR: \fB\-\-version\fR
+.
+.IP "\(bu" 4
+\fB\-f\fR: \fB\-\-force\fR
+.
+.IP "\(bu" 4
+\fB\-l\fR: \fB\-\-long\fR
+.
+.IP "\(bu" 4
+\fB\-desc\fR: \fB\-\-description\fR
+.
+.IP "\(bu" 4
+\fB\-S\fR: \fB\-\-save\fR
+.
+.IP "\(bu" 4
+\fB\-y\fR: \fB\-\-yes\fR
+.
+.IP "\(bu" 4
+\fB\-n\fR: \fB\-\-yes false\fR
+.
+.IP "\(bu" 4
+\fBll\fR and \fBla\fR commands: \fBls \-\-long\fR
+.
+.IP "" 0
+.
+.P
+If the specified configuration param resolves unambiguously to a known
+configuration parameter, then it is expanded to that configuration
+parameter\. For example:
+.
+.IP "" 4
+.
+.nf
+npm ls \-\-par
+# same as:
+npm ls \-\-parseable
+.
+.fi
+.
+.IP "" 0
+.
+.P
+If multiple single\-character shorthands are strung together, and the
+resulting combination is unambiguously not some other configuration
+param, then it is expanded to its various component pieces\. For
+example:
+.
+.IP "" 4
+.
+.nf
+npm ls \-gpld
+# same as:
+npm ls \-\-global \-\-parseable \-\-long \-\-loglevel info
+.
+.fi
+.
+.IP "" 0
+.
+.SH "Per\-Package Config Settings"
+When running scripts (see \fBnpm help scripts\fR)
+the package\.json "config" keys are overwritten in the environment if
+there is a config param of \fB<name>[@<version>]:<key>\fR\|\. For example, if
+the package\.json has this:
+.
+.IP "" 4
+.
+.nf
+{ "name" : "foo"
+, "config" : { "port" : "8080" }
+, "scripts" : { "start" : "node server\.js" } }
+.
+.fi
+.
+.IP "" 0
+.
+.P
+and the server\.js is this:
+.
+.IP "" 4
+.
+.nf
+http\.createServer(\.\.\.)\.listen(process\.env\.npm_package_config_port)
+.
+.fi
+.
+.IP "" 0
+.
+.P
+then the user could change the behavior by doing:
+.
+.IP "" 4
+.
+.nf
+npm config set foo:port 80
+.
+.fi
+.
+.IP "" 0
+.
+.SH "Config Settings"
+.
+.SS "always\-auth"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Force npm to always require authentication when accessing the registry,
+even for \fBGET\fR requests\.
+.
+.SS "bin\-publish"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+If set to true, then binary packages will be created on publish\.
+.
+.P
+This is the way to opt into the "bindist" behavior described below\.
+.
+.SS "bindist"
+.
+.IP "\(bu" 4
+Default: Unstable node versions, \fBnull\fR, otherwise \fB"<node version>\-<platform>\-<os release>"\fR
+.
+.IP "\(bu" 4
+Type: String or \fBnull\fR
+.
+.IP "" 0
+.
+.P
+Experimental: on stable versions of node, binary distributions will be
+created with this tag\. If a user then installs that package, and their \fBbindist\fR tag is found in the list of binary distributions, they will
+get that prebuilt version\.
+.
+.P
+Pre\-build node packages have their preinstall, install, and postinstall
+scripts stripped (since they are run prior to publishing), and do not
+have their \fBbuild\fR directories automatically ignored\.
+.
+.P
+It\'s yet to be seen if this is a good idea\.
+.
+.SS "browser"
+.
+.IP "\(bu" 4
+Default: OS X: \fB"open"\fR, others: \fB"google\-chrome"\fR
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+The browser that is called by the \fBnpm docs\fR command to open websites\.
+.
+.SS "ca"
+.
+.IP "\(bu" 4
+Default: The npm CA certificate
+.
+.IP "\(bu" 4
+Type: String or null
+.
+.IP "" 0
+.
+.P
+The Certificate Authority signing certificate that is trusted for SSL
+connections to the registry\.
+.
+.P
+Set to \fBnull\fR to only allow "known" registrars, or to a specific CA cert
+to trust only that specific signing authority\.
+.
+.P
+See also the \fBstrict\-ssl\fR config\.
+.
+.SS "cache"
+.
+.IP "\(bu" 4
+Default: Windows: \fB~/npm\-cache\fR, Posix: \fB~/\.npm\fR
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The location of npm\'s cache directory\. See \fBnpm help cache\fR
+.
+.SS "color"
+.
+.IP "\(bu" 4
+Default: true on Posix, false on Windows
+.
+.IP "\(bu" 4
+Type: Boolean or \fB"always"\fR
+.
+.IP "" 0
+.
+.P
+If false, never shows colors\. If \fB"always"\fR then always shows colors\.
+If true, then only prints color codes for tty file descriptors\.
+.
+.SS "depth"
+.
+.IP "\(bu" 4
+Default: Infinity
+.
+.IP "\(bu" 4
+Type: Number
+.
+.IP "" 0
+.
+.P
+The depth to go when recursing directories for \fBnpm ls\fR and \fBnpm cache ls\fR\|\.
+.
+.SS "description"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Show the description in \fBnpm search\fR
+.
+.SS "dev"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Install \fBdev\-dependencies\fR along with packages\.
+.
+.P
+Note that \fBdev\-dependencies\fR are also installed if the \fBnpat\fR flag is
+set\.
+.
+.SS "editor"
+.
+.IP "\(bu" 4
+Default: \fBEDITOR\fR environment variable if set, or \fB"vi"\fR on Posix,
+or \fB"notepad"\fR on Windows\.
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The command to run for \fBnpm edit\fR or \fBnpm config edit\fR\|\.
+.
+.SS "force"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Makes various commands more forceful\.
+.
+.IP "\(bu" 4
+lifecycle script failure does not block progress\.
+.
+.IP "\(bu" 4
+publishing clobbers previously published versions\.
+.
+.IP "\(bu" 4
+skips cache when requesting from the registry\.
+.
+.IP "\(bu" 4
+prevents checks against clobbering non\-npm files\.
+.
+.IP "" 0
+.
+.SS "global"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Operates in "global" mode, so that packages are installed into the \fBprefix\fR folder instead of the current working directory\. See \fBnpm help folders\fR for more on the differences in behavior\.
+.
+.IP "\(bu" 4
+packages are installed into the \fBprefix/node_modules\fR folder, instead of the
+current working directory\.
+.
+.IP "\(bu" 4
+bin files are linked to \fBprefix/bin\fR
+.
+.IP "\(bu" 4
+man pages are linked to \fBprefix/share/man\fR
+.
+.IP "" 0
+.
+.SS "globalconfig"
+.
+.IP "\(bu" 4
+Default: {prefix}/etc/npmrc
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The config file to read for global config options\.
+.
+.SS "globalignorefile"
+.
+.IP "\(bu" 4
+Default: {prefix}/etc/npmignore
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The config file to read for global ignore patterns to apply to all users
+and all projects\.
+.
+.P
+If not found, but there is a "gitignore" file in the
+same directory, then that will be used instead\.
+.
+.SS "group"
+.
+.IP "\(bu" 4
+Default: GID of the current process
+.
+.IP "\(bu" 4
+Type: String or Number
+.
+.IP "" 0
+.
+.P
+The group to use when running package scripts in global mode as the root
+user\.
+.
+.SS "https\-proxy"
+.
+.IP "\(bu" 4
+Default: the \fBHTTPS_PROXY\fR or \fBhttps_proxy\fR or \fBHTTP_PROXY\fR or \fBhttp_proxy\fR environment variables\.
+.
+.IP "\(bu" 4
+Type: url
+.
+.IP "" 0
+.
+.P
+A proxy to use for outgoing https requests\.
+.
+.SS "ignore"
+.
+.IP "\(bu" 4
+Default: ""
+.
+.IP "\(bu" 4
+Type: string
+.
+.IP "" 0
+.
+.P
+A white\-space separated list of glob patterns of files to always exclude
+from packages when building tarballs\.
+.
+.SS "init\.version"
+.
+.IP "\(bu" 4
+Default: "0\.0\.0"
+.
+.IP "\(bu" 4
+Type: semver
+.
+.IP "" 0
+.
+.P
+The value \fBnpm init\fR should use by default for the package version\.
+.
+.SS "init\.author\.name"
+.
+.IP "\(bu" 4
+Default: "0\.0\.0"
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+The value \fBnpm init\fR should use by default for the package author\'s name\.
+.
+.SS "init\.author\.email"
+.
+.IP "\(bu" 4
+Default: ""
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+The value \fBnpm init\fR should use by default for the package author\'s email\.
+.
+.SS "init\.author\.url"
+.
+.IP "\(bu" 4
+Default: ""
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+The value \fBnpm init\fR should use by default for the package author\'s homepage\.
+.
+.SS "link"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+If true, then local installs will link if there is a suitable globally
+installed package\.
+.
+.P
+Note that this means that local installs can cause things to be
+installed into the global space at the same time\. The link is only done
+if one of the two conditions are met:
+.
+.IP "\(bu" 4
+The package is not already installed globally, or
+.
+.IP "\(bu" 4
+the globally installed version is identical to the version that is
+being installed locally\.
+.
+.IP "" 0
+.
+.SS "logfd"
+.
+.IP "\(bu" 4
+Default: stderr file descriptor
+.
+.IP "\(bu" 4
+Type: Number or Stream
+.
+.IP "" 0
+.
+.P
+The location to write log output\.
+.
+.SS "loglevel"
+.
+.IP "\(bu" 4
+Default: "warn"
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "\(bu" 4
+Values: "silent", "win", "error", "warn", "info", "verbose", "silly"
+.
+.IP "" 0
+.
+.P
+What level of logs to report\. On failure, \fIall\fR logs are written to \fBnpm\-debug\.log\fR in the current working directory\.
+.
+.SS "logprefix"
+.
+.IP "\(bu" 4
+Default: true on Posix, false on Windows
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Whether or not to prefix log messages with "npm" and the log level\. See
+also "color" and "loglevel"\.
+.
+.SS "long"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Show extended information in \fBnpm ls\fR
+.
+.SS "message"
+.
+.IP "\(bu" 4
+Default: "%s"
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+Commit message which is used by \fBnpm version\fR when creating version commit\.
+.
+.P
+Any "%s" in the message will be replaced with the version number\.
+.
+.SS "node\-version"
+.
+.IP "\(bu" 4
+Default: process\.version
+.
+.IP "\(bu" 4
+Type: semver or false
+.
+.IP "" 0
+.
+.P
+The node version to use when checking package\'s "engines" hash\.
+.
+.SS "npat"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Run tests on installation and report results to the \fBnpaturl\fR\|\.
+.
+.SS "npaturl"
+.
+.IP "\(bu" 4
+Default: Not yet implemented
+.
+.IP "\(bu" 4
+Type: url
+.
+.IP "" 0
+.
+.P
+The url to report npat test results\.
+.
+.SS "onload\-script"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+A node module to \fBrequire()\fR when npm loads\. Useful for programmatic
+usage\.
+.
+.SS "outfd"
+.
+.IP "\(bu" 4
+Default: standard output file descriptor
+.
+.IP "\(bu" 4
+Type: Number or Stream
+.
+.IP "" 0
+.
+.P
+Where to write "normal" output\. This has no effect on log output\.
+.
+.SS "parseable"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Output parseable results from commands that write to
+standard output\.
+.
+.SS "prefix"
+.
+.IP "\(bu" 4
+Default: node\'s process\.installPrefix
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The location to install global items\. If set on the command line, then
+it forces non\-global commands to run in the specified folder\.
+.
+.SS "production"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Set to true to run in "production" mode\.
+.
+.IP "1" 4
+devDependencies are not installed at the topmost level when running
+local \fBnpm install\fR without any arguments\.
+.
+.IP "2" 4
+Set the NODE_ENV="production" for lifecycle scripts\.
+.
+.IP "" 0
+.
+.SS "proxy"
+.
+.IP "\(bu" 4
+Default: \fBHTTP_PROXY\fR or \fBhttp_proxy\fR environment variable, or null
+.
+.IP "\(bu" 4
+Type: url
+.
+.IP "" 0
+.
+.P
+A proxy to use for outgoing http requests\.
+.
+.SS "rebuild\-bundle"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Rebuild bundled dependencies after installation\.
+.
+.SS "registry"
+.
+.IP "\(bu" 4
+Default: https://registry\.npmjs\.org/
+.
+.IP "\(bu" 4
+Type: url
+.
+.IP "" 0
+.
+.P
+The base URL of the npm package registry\.
+.
+.SS "rollback"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Remove failed installs\.
+.
+.SS "save"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Save installed packages to a package\.json file as dependencies\.
+.
+.P
+Only works if there is already a package\.json file present\.
+.
+.SS "searchopts"
+.
+.IP "\(bu" 4
+Default: ""
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+Space\-separated options that are always passed to search\.
+.
+.SS "searchexclude"
+.
+.IP "\(bu" 4
+Default: ""
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+Space\-separated options that limit the results from search\.
+.
+.SS "shell"
+.
+.IP "\(bu" 4
+Default: SHELL environment variable, or "bash" on Posix, or "cmd" on
+Windows
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The shell to run for the \fBnpm explore\fR command\.
+.
+.SS "strict\-ssl"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Whether or not to do SSL key validation when making requests to the
+registry via https\.
+.
+.P
+See also the \fBca\fR config\.
+.
+.SS "tag"
+.
+.IP "\(bu" 4
+Default: latest
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+If you ask npm to install a package and don\'t tell it a specific version, then
+it will install the specified tag\.
+.
+.P
+Also the tag that is added to the package@version specified by the \fBnpm
+tag\fR command, if no explicit tag is given\.
+.
+.SS "tmp"
+.
+.IP "\(bu" 4
+Default: TMPDIR environment variable, or "/tmp"
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+Where to store temporary files and folders\. All temp files are deleted
+on success, but left behind on failure for forensic purposes\.
+.
+.SS "unicode"
+.
+.IP "\(bu" 4
+Default: true
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+When set to true, npm uses unicode characters in the tree output\. When
+false, it uses ascii characters to draw trees\.
+.
+.SS "unsafe\-perm"
+.
+.IP "\(bu" 4
+Default: false if running as root, true otherwise
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Set to true to suppress the UID/GID switching when running package
+scripts\. If set explicitly to false, then installing as a non\-root user
+will fail\.
+.
+.SS "usage"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Set to show short usage output (like the \-H output)
+instead of complete help when doing \fBnpm help help\fR\|\.
+.
+.SS "user"
+.
+.IP "\(bu" 4
+Default: "nobody"
+.
+.IP "\(bu" 4
+Type: String or Number
+.
+.IP "" 0
+.
+.P
+The UID to set to when running package scripts as root\.
+.
+.SS "username"
+.
+.IP "\(bu" 4
+Default: null
+.
+.IP "\(bu" 4
+Type: String
+.
+.IP "" 0
+.
+.P
+The username on the npm registry\. Set with \fBnpm adduser\fR
+.
+.SS "userconfig"
+.
+.IP "\(bu" 4
+Default: ~/\.npmrc
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The location of user\-level configuration settings\.
+.
+.SS "userignorefile"
+.
+.IP "\(bu" 4
+Default: ~/\.npmignore
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The location of a user\-level ignore file to apply to all packages\.
+.
+.P
+If not found, but there is a \.gitignore file in the same directory, then
+that will be used instead\.
+.
+.SS "umask"
+.
+.IP "\(bu" 4
+Default: 022
+.
+.IP "\(bu" 4
+Type: Octal numeric string
+.
+.IP "" 0
+.
+.P
+The "umask" value to use when setting the file creation mode on files
+and folders\.
+.
+.P
+Folders and executables are given a mode which is \fB0777\fR masked against
+this value\. Other files are given a mode which is \fB0666\fR masked against
+this value\. Thus, the defaults are \fB0755\fR and \fB0644\fR respectively\.
+.
+.SS "version"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: boolean
+.
+.IP "" 0
+.
+.P
+If true, output the npm version and exit successfully\.
+.
+.P
+Only relevant when specified explicitly on the command line\.
+.
+.SS "viewer"
+.
+.IP "\(bu" 4
+Default: "man" on Posix, "browser" on Windows
+.
+.IP "\(bu" 4
+Type: path
+.
+.IP "" 0
+.
+.P
+The program to use to view help content\.
+.
+.P
+Set to \fB"browser"\fR to view html help content in the default web browser\.
+.
+.SS "yes"
+.
+.IP "\(bu" 4
+Default: null
+.
+.IP "\(bu" 4
+Type: Boolean or null
+.
+.IP "" 0
+.
+.P
+If set to \fBnull\fR, then prompt the user for responses in some
+circumstances\.
+.
+.P
+If set to \fBtrue\fR, then answer "yes" to any prompt\. If set to \fBfalse\fR
+then answer "no" to any prompt\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help npm
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/star.1 b/deps/npm/man/man1/star.1
new file mode 100644
index 0000000000..507cc76439
--- /dev/null
+++ b/deps/npm/man/man1/star.1
@@ -0,0 +1,39 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-STAR" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-star\fR \-\- Mark your favorite packages
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm star <pkgname> [<pkg>, \.\.\.]
+npm unstar <pkgname> [<pkg>, \.\.\.]
+.
+.fi
+.
+.SH "DESCRIPTION"
+"Starring" a package means that you have some interest in it\. It\'s
+a vaguely positive way to show that you care\.
+.
+.P
+"Unstarring" is the same thing, but in reverse\.
+.
+.P
+It\'s a boolean thing\. Starring repeatedly has no additional effect\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help view
+.
+.IP "\(bu" 4
+npm help whoami
+.
+.IP "\(bu" 4
+npm help adduser
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/start.1 b/deps/npm/man/man1/start.1
new file mode 100644
index 0000000000..bcc507eb60
--- /dev/null
+++ b/deps/npm/man/man1/start.1
@@ -0,0 +1,37 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-START" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-start\fR \-\- Start a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm start <name>
+.
+.fi
+.
+.SH "DESCRIPTION"
+This runs a package\'s "start" script, if one was provided\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help run\-script
+.
+.IP "\(bu" 4
+npm help scripts
+.
+.IP "\(bu" 4
+npm help test
+.
+.IP "\(bu" 4
+npm help restart
+.
+.IP "\(bu" 4
+npm help stop
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/stop.1 b/deps/npm/man/man1/stop.1
new file mode 100644
index 0000000000..8cae689a97
--- /dev/null
+++ b/deps/npm/man/man1/stop.1
@@ -0,0 +1,37 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-STOP" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-stop\fR \-\- Stop a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm stop <name>
+.
+.fi
+.
+.SH "DESCRIPTION"
+This runs a package\'s "stop" script, if one was provided\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help run\-script
+.
+.IP "\(bu" 4
+npm help scripts
+.
+.IP "\(bu" 4
+npm help test
+.
+.IP "\(bu" 4
+npm help start
+.
+.IP "\(bu" 4
+npm help restart
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/submodule.1 b/deps/npm/man/man1/submodule.1
new file mode 100644
index 0000000000..d54ce69465
--- /dev/null
+++ b/deps/npm/man/man1/submodule.1
@@ -0,0 +1,42 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-SUBMODULE" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-submodule\fR \-\- Add a package as a git submodule
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm submodule <pkg>
+.
+.fi
+.
+.SH "DESCRIPTION"
+If the specified package has a git repository url in its package\.json
+description, then this command will add it as a git submodule at \fBnode_modules/<pkg name>\fR\|\.
+.
+.P
+This is a convenience only\. From then on, it\'s up to you to manage
+updates by using the appropriate git commands\. npm will stubbornly
+refuse to update, modify, or remove anything with a \fB\|\.git\fR subfolder
+in it\.
+.
+.P
+This command also does not install missing dependencies, if the package
+does not include them in its git repository\. If \fBnpm ls\fR reports that
+things are missing, you can either install, link, or submodule them yourself,
+or you can do \fBnpm explore <pkgname> \-\- npm install\fR to install the
+dependencies into the submodule folder\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "\(bu" 4
+git help submodule
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/tag.1 b/deps/npm/man/man1/tag.1
new file mode 100644
index 0000000000..6d2159e15d
--- /dev/null
+++ b/deps/npm/man/man1/tag.1
@@ -0,0 +1,31 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-TAG" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-tag\fR \-\- Tag a published version
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm tag <name>@<version> [<tag>]
+.
+.fi
+.
+.SH "DESCRIPTION"
+Tags the specified version of the package with the specified tag, or the \fB\-\-tag\fR config if not specified\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help publish
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/test.1 b/deps/npm/man/man1/test.1
new file mode 100644
index 0000000000..6b84dbb294
--- /dev/null
+++ b/deps/npm/man/man1/test.1
@@ -0,0 +1,41 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-TEST" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-test\fR \-\- Test a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+ npm test <name>
+.
+.fi
+.
+.SH "DESCRIPTION"
+This runs a package\'s "test" script, if one was provided\.
+.
+.P
+To run tests as a condition of installation, set the \fBnpat\fR config to
+true\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help run\-script
+.
+.IP "\(bu" 4
+npm help scripts
+.
+.IP "\(bu" 4
+npm help start
+.
+.IP "\(bu" 4
+npm help restart
+.
+.IP "\(bu" 4
+npm help stop
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/uninstall.1 b/deps/npm/man/man1/uninstall.1
new file mode 100644
index 0000000000..5df95889a9
--- /dev/null
+++ b/deps/npm/man/man1/uninstall.1
@@ -0,0 +1,36 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-RM" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-rm\fR \-\- Remove a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm rm <name>
+npm uninstall <name>
+.
+.fi
+.
+.SH "DESCRIPTION"
+This uninstalls a package, completely removing everything npm installed
+on its behalf\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help prune
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/unpublish.1 b/deps/npm/man/man1/unpublish.1
new file mode 100644
index 0000000000..0a2fd4ecc2
--- /dev/null
+++ b/deps/npm/man/man1/unpublish.1
@@ -0,0 +1,53 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-UNPUBLISH" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-unpublish\fR \-\- Remove a package from the registry
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm unpublish <name>[@<version>]
+.
+.fi
+.
+.SH "WARNING"
+\fBIt is generally considered bad behavior to remove versions of a library
+that others are depending on!\fR
+.
+.P
+Consider using the \fBdeprecate\fR command
+instead, if your intent is to encourage users to upgrade\.
+.
+.P
+There is plenty of room on the registry\.
+.
+.SH "DESCRIPTION"
+This removes a package version from the registry, deleting its
+entry and removing the tarball\.
+.
+.P
+If no version is specified, or if all versions are removed then
+the root package entry is removed from the registry entirely\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help deprecate
+.
+.IP "\(bu" 4
+npm help publish
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "\(bu" 4
+npm help adduser
+.
+.IP "\(bu" 4
+npm help owner
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/update.1 b/deps/npm/man/man1/update.1
new file mode 100644
index 0000000000..0565896d95
--- /dev/null
+++ b/deps/npm/man/man1/update.1
@@ -0,0 +1,41 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-UPDATE" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-update\fR \-\- Update a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm update [<name> [<name> \.\.\.]]
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command will update all the packages listed to the latest version
+(specified by the \fBtag\fR config)\.
+.
+.P
+It will also install missing packages\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help install
+.
+.IP "\(bu" 4
+npm help outdated
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "\(bu" 4
+npm help folders
+.
+.IP "\(bu" 4
+npm help list
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/version.1 b/deps/npm/man/man1/version.1
new file mode 100644
index 0000000000..2468ed80d7
--- /dev/null
+++ b/deps/npm/man/man1/version.1
@@ -0,0 +1,45 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-VERSION" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-version\fR \-\- Bump a package version
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm version <newversion> [\-\-message commit\-message]
+.
+.fi
+.
+.SH "DESCRIPTION"
+Run this in a package directory to bump the version and write the new
+data back to the package\.json file\.
+.
+.P
+The \fBnewversion\fR argument should be a valid semver string, \fIor\fR a valid
+second argument to semver\.inc (one of "patch", "minor", or "major")\. In
+the second case, the existing version will be incremented by that amount\.
+.
+.P
+If run in a git repo, it will also create a version commit and tag, and
+fail if the repo is not clean\.
+.
+.P
+If supplied with \fB\-\-message\fR (shorthand: \fB\-m\fR) command line option, npm
+will use it as a commit message when creating a version commit\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help init
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "\(bu" 4
+npm help semver
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/view.1 b/deps/npm/man/man1/view.1
new file mode 100644
index 0000000000..aafc4cb966
--- /dev/null
+++ b/deps/npm/man/man1/view.1
@@ -0,0 +1,176 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-VIEW" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-view\fR \-\- View registry info
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm view <name>[@<version>] [<field>[\.<subfield>]\.\.\.]
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command shows data about a package and prints it to the stream
+referenced by the \fBoutfd\fR config, which defaults to stdout\.
+.
+.P
+To show the package registry entry for the \fBconnect\fR package, you can do
+this:
+.
+.IP "" 4
+.
+.nf
+npm view connect
+.
+.fi
+.
+.IP "" 0
+.
+.P
+The default version is "latest" if unspecified\.
+.
+.P
+Field names can be specified after the package descriptor\.
+For example, to show the dependencies of the \fBronn\fR package at version
+0\.3\.5, you could do the following:
+.
+.IP "" 4
+.
+.nf
+npm view ronn@0\.3\.5 dependencies
+.
+.fi
+.
+.IP "" 0
+.
+.P
+You can view child field by separating them with a period\.
+To view the git repository URL for the latest version of npm, you could
+do this:
+.
+.IP "" 4
+.
+.nf
+npm view npm repository\.url
+.
+.fi
+.
+.IP "" 0
+.
+.P
+This makes it easy to view information about a dependency with a bit of
+shell scripting\. For example, to view all the data about the version of
+opts that ronn depends on, you can do this:
+.
+.IP "" 4
+.
+.nf
+npm view opts@$(npm view ronn dependencies\.opts)
+.
+.fi
+.
+.IP "" 0
+.
+.P
+For fields that are arrays, requesting a non\-numeric field will return
+all of the values from the objects in the list\. For example, to get all
+the contributor names for the "express" project, you can do this:
+.
+.IP "" 4
+.
+.nf
+npm view express contributors\.email
+.
+.fi
+.
+.IP "" 0
+.
+.P
+You may also use numeric indices in square braces to specifically select
+an item in an array field\. To just get the email address of the first
+contributor in the list, you can do this:
+.
+.IP "" 4
+.
+.nf
+npm view express contributors[0]\.email
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Multiple fields may be specified, and will be printed one after another\.
+For exampls, to get all the contributor names and email addresses, you
+can do this:
+.
+.IP "" 4
+.
+.nf
+npm view express contributors\.name contributors\.email
+.
+.fi
+.
+.IP "" 0
+.
+.P
+"Person" fields are shown as a string if they would be shown as an
+object\. So, for example, this will show the list of npm contributors in
+the shortened string format\. (See \fBnpm help json\fR for more on this\.)
+.
+.IP "" 4
+.
+.nf
+npm view npm contributors
+.
+.fi
+.
+.IP "" 0
+.
+.P
+If a version range is provided, then data will be printed for every
+matching version of the package\. This will show which version of jsdom
+was required by each matching version of yui3:
+.
+.IP "" 4
+.
+.nf
+npm view yui3@\'>0\.5\.4\' dependencies\.jsdom
+.
+.fi
+.
+.IP "" 0
+.
+.SH "OUTPUT"
+If only a single string field for a single version is output, then it
+will not be colorized or quoted, so as to enable piping the output to
+another command\.
+.
+.P
+If the version range matches multiple versions, than each printed value
+will be prefixed with the version it applies to\.
+.
+.P
+If multiple fields are requested, than each of them are prefixed with
+the field name\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help search
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help docs
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man1/whoami.1 b/deps/npm/man/man1/whoami.1
new file mode 100644
index 0000000000..f952846ddc
--- /dev/null
+++ b/deps/npm/man/man1/whoami.1
@@ -0,0 +1,28 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-WHOAMI" "1" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-whoami\fR \-\- Display npm username
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm whoami
+.
+.fi
+.
+.SH "DESCRIPTION"
+Print the \fBusername\fR config to standard output\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help config
+.
+.IP "\(bu" 4
+npm help adduser
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man3/author.3 b/deps/npm/man/man3/author.3
new file mode 100644
index 0000000000..0f5d2c8c2f
--- /dev/null
+++ b/deps/npm/man/man3/author.3
@@ -0,0 +1,52 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-OWNER" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-owner\fR \-\- Manage package owners
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.owner(args, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+The first element of the \'args\' parameter defines what to do, and the subsequent
+elements depend on the action\. Possible values for the action are (order of
+parameters are given in parenthesis):
+.
+.IP "\(bu" 4
+ls (package):
+List all the users who have access to modify a package and push new versions\.
+Handy when you need to know who to bug for help\.
+.
+.IP "\(bu" 4
+add (user, package):
+Add a new user as a maintainer of a package\. This user is enabled to modify
+metadata, publish new versions, and add other owners\.
+.
+.IP "\(bu" 4
+rm (user, package):
+Remove a user from the package owner list\. This immediately revokes their
+privileges\.
+.
+.IP "" 0
+.
+.P
+Note that there is only one level of access\. Either you can modify a package,
+or you can\'t\. Future versions may contain more fine\-grained access levels, but
+that is not implemented at this time\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm apihelp publish
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man3/bin.3 b/deps/npm/man/man3/bin.3
new file mode 100644
index 0000000000..dc9eb9679f
--- /dev/null
+++ b/deps/npm/man/man3/bin.3
@@ -0,0 +1,21 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-BIN" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-bin\fR \-\- Display npm bin folder
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.bin(args, cb)
+.
+.fi
+.
+.SH "DESCRIPTION"
+Print the folder where npm will install executables\.
+.
+.P
+This function should not be used programmatically\. Instead, just refer
+to the \fBnpm\.bin\fR member\.
diff --git a/deps/npm/man/man3/bugs.3 b/deps/npm/man/man3/bugs.3
new file mode 100644
index 0000000000..1ae96495a8
--- /dev/null
+++ b/deps/npm/man/man3/bugs.3
@@ -0,0 +1,28 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-BUGS" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-bugs\fR \-\- Bugs for a package in a web browser maybe
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.bugs(package, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command tries to guess at the likely location of a package\'s
+bug tracker URL, and then tries to open it using the \fB\-\-browser\fR
+config param\.
+.
+.P
+Like other commands, the first parameter is an array\. This command only
+uses the first element, which is expected to be a package name with an
+optional version number\.
+.
+.P
+This command will launch a browser, so this command may not be the most
+friendly for programmatic use\.
diff --git a/deps/npm/man/man3/commands.3 b/deps/npm/man/man3/commands.3
new file mode 100644
index 0000000000..c1f29def8d
--- /dev/null
+++ b/deps/npm/man/man3/commands.3
@@ -0,0 +1,35 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-COMMANDS" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-commands\fR \-\- npm commands
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands[<command>](args, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+npm comes with a full set of commands, and each of the commands takes a
+similar set of arguments\.
+.
+.P
+In general, all commands on the command object take an \fBarray\fR of positional
+argument \fBstrings\fR\|\. The last argument to any function is a callback\. Some
+commands are special and take other optional arguments\.
+.
+.P
+All commands have their own man page\. See \fBman npm\-<command>\fR for command\-line
+usage, or \fBman 3 npm\-<command>\fR for programmatic usage\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help index
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man3/config.3 b/deps/npm/man/man3/config.3
new file mode 100644
index 0000000000..548f4bb9c6
--- /dev/null
+++ b/deps/npm/man/man3/config.3
@@ -0,0 +1,69 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-CONFIG" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-config\fR \-\- Manage the npm configuration files
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.config(args, callback)
+var val = npm\.config\.get(key)
+npm\.config\.set(key, val)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This function acts much the same way as the command\-line version\. The first
+element in the array tells config what to do\. Possible values are:
+.
+.IP "\(bu" 4
+\fBset\fR
+.
+.IP
+Sets a config parameter\. The second element in \fBargs\fR is interpreted as the
+key, and the third element is interpreted as the value\.
+.
+.IP "\(bu" 4
+\fBget\fR
+.
+.IP
+Gets the value of a config parameter\. The second element in \fBargs\fR is the
+key to get the value of\.
+.
+.IP "\(bu" 4
+\fBdelete\fR (\fBrm\fR or \fBdel\fR)
+.
+.IP
+Deletes a parameter from the config\. The second element in \fBargs\fR is the
+key to delete\.
+.
+.IP "\(bu" 4
+\fBlist\fR (\fBls\fR)
+.
+.IP
+Show all configs that aren\'t secret\. No parameters necessary\.
+.
+.IP "\(bu" 4
+\fBedit\fR:
+.
+.IP
+Opens the config file in the default editor\. This command isn\'t very useful
+programmatically, but it is made available\.
+.
+.IP "" 0
+.
+.P
+To programmatically access npm configuration settings, or set them for
+the duration of a program, use the \fBnpm\.config\.set\fR and \fBnpm\.config\.get\fR
+functions instead\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm apihelp npm
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man3/deprecate.3 b/deps/npm/man/man3/deprecate.3
new file mode 100644
index 0000000000..2f1bbecb53
--- /dev/null
+++ b/deps/npm/man/man3/deprecate.3
@@ -0,0 +1,54 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-DEPRECATE" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-deprecate\fR \-\- Deprecate a version of a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.deprecate(args, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command will update the npm registry entry for a package, providing
+a deprecation warning to all who attempt to install it\.
+.
+.P
+The \'args\' parameter must have exactly two elements:
+.
+.IP "\(bu" 4
+\fBpackage[@version]\fR
+.
+.IP
+The \fBversion\fR portion is optional, and may be either a range, or a
+specific version, or a tag\.
+.
+.IP "\(bu" 4
+\fBmessage\fR
+.
+.IP
+The warning message that will be printed whenever a user attempts to
+install the package\.
+.
+.IP "" 0
+.
+.P
+Note that you must be the package owner to deprecate something\. See the \fBowner\fR and \fBadduser\fR help topics\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm apihelp publish
+.
+.IP "\(bu" 4
+npm apihelp unpublish
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man3/docs.3 b/deps/npm/man/man3/docs.3
new file mode 100644
index 0000000000..3db059e0fa
--- /dev/null
+++ b/deps/npm/man/man3/docs.3
@@ -0,0 +1,28 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-DOCS" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-docs\fR \-\- Docs for a package in a web browser maybe
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.docs(package, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command tries to guess at the likely location of a package\'s
+documentation URL, and then tries to open it using the \fB\-\-browser\fR
+config param\.
+.
+.P
+Like other commands, the first parameter is an array\. This command only
+uses the first element, which is expected to be a package name with an
+optional version number\.
+.
+.P
+This command will launch a browser, so this command may not be the most
+friendly for programmatic use\.
diff --git a/deps/npm/man/man3/edit.3 b/deps/npm/man/man3/edit.3
new file mode 100644
index 0000000000..084c893728
--- /dev/null
+++ b/deps/npm/man/man3/edit.3
@@ -0,0 +1,35 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-EDIT" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-edit\fR \-\- Edit an installed package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.edit(package, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+Opens the package folder in the default editor (or whatever you\'ve
+configured as the npm \fBeditor\fR config \-\- see \fBnpm help config\fR\|\.)
+.
+.P
+After it has been edited, the package is rebuilt so as to pick up any
+changes in compiled packages\.
+.
+.P
+For instance, you can do \fBnpm install connect\fR to install connect
+into your package, and then \fBnpm\.commands\.edit(["connect"], callback)\fR
+to make a few changes to your locally installed copy\.
+.
+.P
+The first parameter is a string array with a single element, the package
+to open\. The package can optionally have a version number attached\.
+.
+.P
+Since this command opens an editor in a new process, be careful about where
+and how this is used\.
diff --git a/deps/npm/man/man3/explore.3 b/deps/npm/man/man3/explore.3
new file mode 100644
index 0000000000..f7dc6ff219
--- /dev/null
+++ b/deps/npm/man/man3/explore.3
@@ -0,0 +1,28 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-EXPLORE" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-explore\fR \-\- Browse an installed package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.explore(args, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+Spawn a subshell in the directory of the installed package specified\.
+.
+.P
+If a command is specified, then it is run in the subshell, which then
+immediately terminates\.
+.
+.P
+Note that the package is \fInot\fR automatically rebuilt afterwards, so be
+sure to use \fBnpm rebuild <pkg>\fR if you make any changes\.
+.
+.P
+The first element in the \'args\' parameter must be a package name\. After that is the optional command, which can be any number of strings\. All of the strings will be combined into one, space\-delimited command\.
diff --git a/deps/npm/man/man3/find.3 b/deps/npm/man/man3/find.3
new file mode 100644
index 0000000000..3c733c9ded
--- /dev/null
+++ b/deps/npm/man/man3/find.3
@@ -0,0 +1,79 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-LS" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-ls\fR \-\- List installed packages
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.ls(args, [silent,] callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command will print to stdout all the versions of packages that are
+installed, as well as their dependencies, in a tree\-structure\. It will also
+return that data using the callback\.
+.
+.P
+This command does not take any arguments, but args must be defined\.
+Beyond that, if any arguments are passed in, npm will politely warn that it
+does not take positional arguments, though you may set config flags
+like with any other command, such as \fBglobal\fR to list global packages\.
+.
+.P
+It will print out extraneous, missing, and invalid packages\.
+.
+.P
+If the silent parameter is set to true, nothing will be output to the screen,
+but the data will still be returned\.
+.
+.SH "CONFIGURATION"
+.
+.SS "long"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Show extended information\.
+.
+.SS "parseable"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Show parseable output instead of tree view\.
+.
+.SS "global"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+List packages in the global install prefix instead of in the current
+project\.
+.
+.P
+Note, if parseable is set or long isn\'t set, then duplicates will be trimmed\.
+This means that if a submodule a same dependency as a parent module, then the
+dependency will only be output once\.
diff --git a/deps/npm/man/man3/get.3 b/deps/npm/man/man3/get.3
new file mode 100644
index 0000000000..548f4bb9c6
--- /dev/null
+++ b/deps/npm/man/man3/get.3
@@ -0,0 +1,69 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-CONFIG" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-config\fR \-\- Manage the npm configuration files
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.config(args, callback)
+var val = npm\.config\.get(key)
+npm\.config\.set(key, val)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This function acts much the same way as the command\-line version\. The first
+element in the array tells config what to do\. Possible values are:
+.
+.IP "\(bu" 4
+\fBset\fR
+.
+.IP
+Sets a config parameter\. The second element in \fBargs\fR is interpreted as the
+key, and the third element is interpreted as the value\.
+.
+.IP "\(bu" 4
+\fBget\fR
+.
+.IP
+Gets the value of a config parameter\. The second element in \fBargs\fR is the
+key to get the value of\.
+.
+.IP "\(bu" 4
+\fBdelete\fR (\fBrm\fR or \fBdel\fR)
+.
+.IP
+Deletes a parameter from the config\. The second element in \fBargs\fR is the
+key to delete\.
+.
+.IP "\(bu" 4
+\fBlist\fR (\fBls\fR)
+.
+.IP
+Show all configs that aren\'t secret\. No parameters necessary\.
+.
+.IP "\(bu" 4
+\fBedit\fR:
+.
+.IP
+Opens the config file in the default editor\. This command isn\'t very useful
+programmatically, but it is made available\.
+.
+.IP "" 0
+.
+.P
+To programmatically access npm configuration settings, or set them for
+the duration of a program, use the \fBnpm\.config\.set\fR and \fBnpm\.config\.get\fR
+functions instead\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm apihelp npm
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man3/help-search.3 b/deps/npm/man/man3/help-search.3
new file mode 100644
index 0000000000..0ffb5e07df
--- /dev/null
+++ b/deps/npm/man/man3/help-search.3
@@ -0,0 +1,51 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-HELP\-SEARCH" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-help-search\fR \-\- Search the help pages
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.helpSearch(args, [silent,] callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command is rarely useful, but it exists in the rare case that it is\.
+.
+.P
+This command takes an array of search terms and returns the help pages that
+match in order of best match\.
+.
+.P
+If there is only one match, then npm displays that help section\. If there
+are multiple results, the results are printed to the screen formatted and the
+array of results is returned\. Each result is an object with these properties:
+.
+.IP "\(bu" 4
+hits:
+A map of args to number of hits on that arg\. For example, {"npm": 3}
+.
+.IP "\(bu" 4
+found:
+Total number of unique args that matched\.
+.
+.IP "\(bu" 4
+totalHits:
+Total number of hits\.
+.
+.IP "\(bu" 4
+lines:
+An array of all matching lines (and some adjacent lines)\.
+.
+.IP "\(bu" 4
+file:
+Name of the file that matched
+.
+.IP "" 0
+.
+.P
+The silent parameter is not neccessary not used, but it may in the future\.
diff --git a/deps/npm/man/man3/home.3 b/deps/npm/man/man3/home.3
new file mode 100644
index 0000000000..3db059e0fa
--- /dev/null
+++ b/deps/npm/man/man3/home.3
@@ -0,0 +1,28 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-DOCS" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-docs\fR \-\- Docs for a package in a web browser maybe
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.docs(package, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command tries to guess at the likely location of a package\'s
+documentation URL, and then tries to open it using the \fB\-\-browser\fR
+config param\.
+.
+.P
+Like other commands, the first parameter is an array\. This command only
+uses the first element, which is expected to be a package name with an
+optional version number\.
+.
+.P
+This command will launch a browser, so this command may not be the most
+friendly for programmatic use\.
diff --git a/deps/npm/man/man3/init.3 b/deps/npm/man/man3/init.3
new file mode 100644
index 0000000000..00326d5007
--- /dev/null
+++ b/deps/npm/man/man3/init.3
@@ -0,0 +1,39 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "INIT" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBinit\fR \-\- Interactively create a package\.json file
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.init(args, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This will ask you a bunch of questions, and then write a package\.json for you\.
+.
+.P
+It attempts to make reasonable guesses about what you want things to be set to,
+and then writes a package\.json file with the options you\'ve selected\.
+.
+.P
+If you already have a package\.json file, it\'ll read that first, and default to
+the options in there\.
+.
+.P
+It is strictly additive, so it does not delete options from your package\.json
+without a really good reason to do so\.
+.
+.P
+Since this function expects to be run on the command\-line, it doesn\'t work very
+well as a programmatically\. The best option is to roll your own, and since
+JavaScript makes it stupid simple to output formatted JSON, that is the
+preferred method\. If you\'re sure you want to handle command\-line prompting,
+then go ahead and use this programmatically\.
+.
+.SH "SEE ALSO"
+npm help json
diff --git a/deps/npm/man/man3/install.3 b/deps/npm/man/man3/install.3
new file mode 100644
index 0000000000..9c43a465ae
--- /dev/null
+++ b/deps/npm/man/man3/install.3
@@ -0,0 +1,29 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-INSTALL" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-install\fR \-\- install a package programmatically
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.install([where,] packages, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This acts much the same ways as installing on the command\-line\.
+.
+.P
+The \'where\' parameter is optional and only used internally, and it specifies
+where the packages should be installed to\.
+.
+.P
+The \'packages\' parameter is an array of strings\. Each element in the array is
+the name of a package to be installed\.
+.
+.P
+Finally, \'callback\' is a function that will be called when all packages have been
+installed or when an error has been encountered\.
diff --git a/deps/npm/man/man3/link.3 b/deps/npm/man/man3/link.3
new file mode 100644
index 0000000000..bbb7ff092f
--- /dev/null
+++ b/deps/npm/man/man3/link.3
@@ -0,0 +1,53 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-LINK" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-link\fR \-\- Symlink a package folder
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.command\.link(callback)
+npm\.command\.link(packages, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+Package linking is a two\-step process\.
+.
+.P
+Without parameters, link will create a globally\-installed
+symbolic link from \fBprefix/package\-name\fR to the current folder\.
+.
+.P
+With a parameters, link will create a symlink from the local \fBnode_modules\fR
+folder to the global symlink\.
+.
+.P
+When creating tarballs for \fBnpm publish\fR, the linked packages are
+"snapshotted" to their current state by resolving the symbolic links\.
+.
+.P
+This is
+handy for installing your own stuff, so that you can work on it and test it
+iteratively without having to continually rebuild\.
+.
+.P
+For example:
+.
+.IP "" 4
+.
+.nf
+npm\.commands\.link(cb) # creates global link from the cwd
+ # (say redis package)
+npm\.commands\.link(\'redis\', cb) # link\-install the package
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Now, any changes to the redis package will be reflected in
+the package in the current working directory
diff --git a/deps/npm/man/man3/list.3 b/deps/npm/man/man3/list.3
new file mode 100644
index 0000000000..3c733c9ded
--- /dev/null
+++ b/deps/npm/man/man3/list.3
@@ -0,0 +1,79 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-LS" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-ls\fR \-\- List installed packages
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.ls(args, [silent,] callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command will print to stdout all the versions of packages that are
+installed, as well as their dependencies, in a tree\-structure\. It will also
+return that data using the callback\.
+.
+.P
+This command does not take any arguments, but args must be defined\.
+Beyond that, if any arguments are passed in, npm will politely warn that it
+does not take positional arguments, though you may set config flags
+like with any other command, such as \fBglobal\fR to list global packages\.
+.
+.P
+It will print out extraneous, missing, and invalid packages\.
+.
+.P
+If the silent parameter is set to true, nothing will be output to the screen,
+but the data will still be returned\.
+.
+.SH "CONFIGURATION"
+.
+.SS "long"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Show extended information\.
+.
+.SS "parseable"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Show parseable output instead of tree view\.
+.
+.SS "global"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+List packages in the global install prefix instead of in the current
+project\.
+.
+.P
+Note, if parseable is set or long isn\'t set, then duplicates will be trimmed\.
+This means that if a submodule a same dependency as a parent module, then the
+dependency will only be output once\.
diff --git a/deps/npm/man/man3/ln.3 b/deps/npm/man/man3/ln.3
new file mode 100644
index 0000000000..bbb7ff092f
--- /dev/null
+++ b/deps/npm/man/man3/ln.3
@@ -0,0 +1,53 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-LINK" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-link\fR \-\- Symlink a package folder
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.command\.link(callback)
+npm\.command\.link(packages, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+Package linking is a two\-step process\.
+.
+.P
+Without parameters, link will create a globally\-installed
+symbolic link from \fBprefix/package\-name\fR to the current folder\.
+.
+.P
+With a parameters, link will create a symlink from the local \fBnode_modules\fR
+folder to the global symlink\.
+.
+.P
+When creating tarballs for \fBnpm publish\fR, the linked packages are
+"snapshotted" to their current state by resolving the symbolic links\.
+.
+.P
+This is
+handy for installing your own stuff, so that you can work on it and test it
+iteratively without having to continually rebuild\.
+.
+.P
+For example:
+.
+.IP "" 4
+.
+.nf
+npm\.commands\.link(cb) # creates global link from the cwd
+ # (say redis package)
+npm\.commands\.link(\'redis\', cb) # link\-install the package
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Now, any changes to the redis package will be reflected in
+the package in the current working directory
diff --git a/deps/npm/man/man3/load.3 b/deps/npm/man/man3/load.3
new file mode 100644
index 0000000000..bb0bb029d9
--- /dev/null
+++ b/deps/npm/man/man3/load.3
@@ -0,0 +1,44 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-LOAD" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-load\fR \-\- Load config settings
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.load(conf, cb)
+.
+.fi
+.
+.SH "DESCRIPTION"
+npm\.load() must be called before any other function call\. Both parameters are
+optional, but the second is recommended\.
+.
+.P
+The first parameter is an object hash of command\-line config params, and the
+second parameter is a callback that will be called when npm is loaded and
+ready to serve\.
+.
+.P
+The first parameter should follow a similar structure as the package\.json
+config object\.
+.
+.P
+For example, to emulate the \-\-dev flag, pass an object that looks like this:
+.
+.IP "" 4
+.
+.nf
+{
+ "dev": true
+}
+.
+.fi
+.
+.IP "" 0
+.
+.P
+For a list of all the available command\-line configs, see \fBnpm help config\fR
diff --git a/deps/npm/man/man3/ls.3 b/deps/npm/man/man3/ls.3
new file mode 100644
index 0000000000..3c733c9ded
--- /dev/null
+++ b/deps/npm/man/man3/ls.3
@@ -0,0 +1,79 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-LS" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-ls\fR \-\- List installed packages
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.ls(args, [silent,] callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command will print to stdout all the versions of packages that are
+installed, as well as their dependencies, in a tree\-structure\. It will also
+return that data using the callback\.
+.
+.P
+This command does not take any arguments, but args must be defined\.
+Beyond that, if any arguments are passed in, npm will politely warn that it
+does not take positional arguments, though you may set config flags
+like with any other command, such as \fBglobal\fR to list global packages\.
+.
+.P
+It will print out extraneous, missing, and invalid packages\.
+.
+.P
+If the silent parameter is set to true, nothing will be output to the screen,
+but the data will still be returned\.
+.
+.SH "CONFIGURATION"
+.
+.SS "long"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Show extended information\.
+.
+.SS "parseable"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+Show parseable output instead of tree view\.
+.
+.SS "global"
+.
+.IP "\(bu" 4
+Default: false
+.
+.IP "\(bu" 4
+Type: Boolean
+.
+.IP "" 0
+.
+.P
+List packages in the global install prefix instead of in the current
+project\.
+.
+.P
+Note, if parseable is set or long isn\'t set, then duplicates will be trimmed\.
+This means that if a submodule a same dependency as a parent module, then the
+dependency will only be output once\.
diff --git a/deps/npm/man/man3/npm.3 b/deps/npm/man/man3/npm.3
new file mode 100644
index 0000000000..0e824f0d49
--- /dev/null
+++ b/deps/npm/man/man3/npm.3
@@ -0,0 +1,160 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm\fR \-\- node package manager
+.
+.SH "SYNOPSIS"
+.
+.nf
+var npm = require("npm")
+npm\.load(configObject, function (er, npm) {
+ // use the npm object, now that it\'s loaded\.
+ npm\.config\.set(key, val)
+ val = npm\.config\.get(key)
+ console\.log("prefix = %s", npm\.prefix)
+ npm\.commands\.install(["package"], cb)
+})
+.
+.fi
+.
+.SH "VERSION"
+1.1.0-alpha-2
+.
+.SH "DESCRIPTION"
+This is the API documentation for npm\.
+To find documentation of the command line
+client, see \fBnpm help npm\fR\|\.
+.
+.P
+Prior to using npm\'s commands, \fBnpm\.load()\fR must be called with an object hash of
+top\-level configs\. In the npm command line client,
+this set of configs is parsed from the command line options\. Additional
+configuration params are loaded from two configuration files\. See \fBnpm help config\fR for more information\.
+.
+.P
+After that, each of the functions are accessible in the
+commands object: \fBnpm\.commands\.<cmd>\fR\|\. See \fBnpm help index\fR for a list of
+all possible commands\.
+.
+.P
+All commands on the command object take an \fBarray\fR of positional argument \fBstrings\fR\|\. The last argument to any function is a callback\. Some
+commands take other optional arguments\.
+.
+.P
+Configs cannot currently be set on a per function basis, as each call to
+npm\.config\.set will change the value for \fIall\fR npm commands in that process\.
+.
+.P
+To find API documentation for a specific command, run the \fBnpm apihelp\fR
+command\.
+.
+.SH "METHODS AND PROPERTIES"
+.
+.IP "\(bu" 4
+\fBnpm\.load(configs, cb)\fR
+.
+.IP
+Load the configuration params, and call the \fBcb\fR function once the
+globalconfig and userconfig files have been loaded as well, or on
+nextTick if they\'ve already been loaded\.
+.
+.IP "\(bu" 4
+\fBnpm\.config\fR
+.
+.IP
+An object for accessing npm configuration parameters\.
+.
+.IP "\(bu" 4
+\fBnpm\.config\.get(key)\fR
+.
+.IP "\(bu" 4
+\fBnpm\.config\.set(key, val)\fR
+.
+.IP "\(bu" 4
+\fBnpm\.config\.del(key)\fR
+.
+.IP "" 0
+
+.
+.IP "\(bu" 4
+\fBnpm\.dir\fR or \fBnpm\.root\fR
+.
+.IP
+The \fBnode_modules\fR directory where npm will operate\.
+.
+.IP "\(bu" 4
+\fBnpm\.prefix\fR
+.
+.IP
+The prefix where npm is operating\. (Most often the current working
+directory\.)
+.
+.IP "\(bu" 4
+\fBnpm\.cache\fR
+.
+.IP
+The place where npm keeps JSON and tarballs it fetches from the
+registry (or uploads to the registry)\.
+.
+.IP "\(bu" 4
+\fBnpm\.tmp\fR
+.
+.IP
+npm\'s temporary working directory\.
+.
+.IP "\(bu" 4
+\fBnpm\.deref\fR
+.
+.IP
+Get the "real" name for a command that has either an alias or
+abbreviation\.
+.
+.IP "" 0
+.
+.SH "MAGIC"
+For each of the methods in the \fBnpm\.commands\fR hash, a method is added to
+the npm object, which takes a set of positional string arguments rather
+than an array and a callback\.
+.
+.P
+If the last argument is a callback, then it will use the supplied
+callback\. However, if no callback is provided, then it will print out
+the error or results\.
+.
+.P
+For example, this would work in a node repl:
+.
+.IP "" 4
+.
+.nf
+> npm = require("npm")
+> npm\.load() // wait a sec\.\.\.
+> npm\.install("dnode", "express")
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Note that that \fIwon\'t\fR work in a node program, since the \fBinstall\fR
+method will get called before the configuration load is completed\.
+.
+.SH "ABBREVS"
+In order to support \fBnpm ins foo\fR instead of \fBnpm install foo\fR, the \fBnpm\.commands\fR object has a set of abbreviations as well as the full
+method names\. Use the \fBnpm\.deref\fR method to find the real name\.
+.
+.P
+For example:
+.
+.IP "" 4
+.
+.nf
+var cmd = npm\.deref("unp") // cmd === "unpublish"
+.
+.fi
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man3/outdated.3 b/deps/npm/man/man3/outdated.3
new file mode 100644
index 0000000000..adf0474f17
--- /dev/null
+++ b/deps/npm/man/man3/outdated.3
@@ -0,0 +1,21 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-OUTDATED" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-outdated\fR \-\- Check for outdated packages
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.outdated([packages,] callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command will check the registry to see if the specified packages are
+currently outdated\.
+.
+.P
+If the \'packages\' parameter is left out, npm will check all packages\.
diff --git a/deps/npm/man/man3/owner.3 b/deps/npm/man/man3/owner.3
new file mode 100644
index 0000000000..0f5d2c8c2f
--- /dev/null
+++ b/deps/npm/man/man3/owner.3
@@ -0,0 +1,52 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-OWNER" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-owner\fR \-\- Manage package owners
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.owner(args, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+The first element of the \'args\' parameter defines what to do, and the subsequent
+elements depend on the action\. Possible values for the action are (order of
+parameters are given in parenthesis):
+.
+.IP "\(bu" 4
+ls (package):
+List all the users who have access to modify a package and push new versions\.
+Handy when you need to know who to bug for help\.
+.
+.IP "\(bu" 4
+add (user, package):
+Add a new user as a maintainer of a package\. This user is enabled to modify
+metadata, publish new versions, and add other owners\.
+.
+.IP "\(bu" 4
+rm (user, package):
+Remove a user from the package owner list\. This immediately revokes their
+privileges\.
+.
+.IP "" 0
+.
+.P
+Note that there is only one level of access\. Either you can modify a package,
+or you can\'t\. Future versions may contain more fine\-grained access levels, but
+that is not implemented at this time\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm apihelp publish
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man3/pack.3 b/deps/npm/man/man3/pack.3
new file mode 100644
index 0000000000..2e0492c014
--- /dev/null
+++ b/deps/npm/man/man3/pack.3
@@ -0,0 +1,28 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-PACK" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-pack\fR \-\- Create a tarball from a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.pack([packages,] callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+For anything that\'s installable (that is, a package folder, tarball,
+tarball url, name@tag, name@version, or name), this command will fetch
+it to the cache, and then copy the tarball to the current working
+directory as \fB<name>\-<version>\.tgz\fR, and then write the filenames out to
+stdout\.
+.
+.P
+If the same package is specified multiple times, then the file will be
+overwritten the second time\.
+.
+.P
+If no arguments are supplied, then npm packs the current package folder\.
diff --git a/deps/npm/man/man3/prefix.3 b/deps/npm/man/man3/prefix.3
new file mode 100644
index 0000000000..24b89ed587
--- /dev/null
+++ b/deps/npm/man/man3/prefix.3
@@ -0,0 +1,24 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-PREFIX" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-prefix\fR \-\- Display prefix
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.prefix(args, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+Print the prefix to standard out\.
+.
+.P
+\'args\' is never used and callback is never called with data\.
+\'args\' must be present or things will break\.
+.
+.P
+This function is not useful programmatically
diff --git a/deps/npm/man/man3/prune.3 b/deps/npm/man/man3/prune.3
new file mode 100644
index 0000000000..84f20e8e71
--- /dev/null
+++ b/deps/npm/man/man3/prune.3
@@ -0,0 +1,27 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-PRUNE" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-prune\fR \-\- Remove extraneous packages
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.prune([packages,] callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command removes "extraneous" packages\.
+.
+.P
+The first parameter is optional, and it specifies packages to be removed\.
+.
+.P
+No packages are specified, then all packages will be checked\.
+.
+.P
+Extraneous packages are packages that are not listed on the parent
+package\'s dependencies list\.
diff --git a/deps/npm/man/man3/publish.3 b/deps/npm/man/man3/publish.3
new file mode 100644
index 0000000000..ae8072851d
--- /dev/null
+++ b/deps/npm/man/man3/publish.3
@@ -0,0 +1,51 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-PUBLISH" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-publish\fR \-\- Publish a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.publish([packages,] callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+Publishes a package to the registry so that it can be installed by name\.
+Possible values in the \'packages\' array are:
+.
+.IP "\(bu" 4
+\fB<folder>\fR:
+A folder containing a package\.json file
+.
+.IP "\(bu" 4
+\fB<tarball>\fR:
+A url or file path to a gzipped tar archive containing a single folder
+with a package\.json file inside\.
+.
+.IP "" 0
+.
+.P
+If the package array is empty, npm will try to publish something in the
+current working directory\.
+.
+.P
+This command could fails if one of the packages specified already exists in
+the registry\. Overwrites when the "force" environment variable is set\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help registry
+.
+.IP "\(bu" 4
+npm help adduser
+.
+.IP "\(bu" 4
+npm apihelp owner
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man3/rebuild.3 b/deps/npm/man/man3/rebuild.3
new file mode 100644
index 0000000000..355924e7c2
--- /dev/null
+++ b/deps/npm/man/man3/rebuild.3
@@ -0,0 +1,22 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-REBUILD" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-rebuild\fR \-\- Rebuild a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.rebuild([packages,] callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command runs the \fBnpm build\fR command on each of the matched packages\. This is useful
+when you install a new version of node, and must recompile all your C++ addons with
+the new binary\. If no \'packages\' parameter is specify, every package will be rebuilt\.
+.
+.SH "CONFIGURATION"
+See \fBnpm help build\fR
diff --git a/deps/npm/man/man3/restart.3 b/deps/npm/man/man3/restart.3
new file mode 100644
index 0000000000..78e53e2a95
--- /dev/null
+++ b/deps/npm/man/man3/restart.3
@@ -0,0 +1,37 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-RESTART" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-restart\fR \-\- Start a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.restart(packages, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This runs a package\'s "restart" script, if one was provided\.
+Otherwise it runs package\'s "stop" script, if one was provided, and then
+the "start" script\.
+.
+.P
+If no version is specified, then it restarts the "active" version\.
+.
+.P
+npm can run tests on multiple packages\. Just specify multiple packages
+in the \fBpackages\fR parameter\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm apihelp start
+.
+.IP "\(bu" 4
+npm apihelp stop
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man3/rm.3 b/deps/npm/man/man3/rm.3
new file mode 100644
index 0000000000..07baafa872
--- /dev/null
+++ b/deps/npm/man/man3/rm.3
@@ -0,0 +1,25 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-UNINSTALL" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-uninstall\fR \-\- uninstall a package programmatically
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.uninstall(packages, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This acts much the same ways as uninstalling on the command\-line\.
+.
+.P
+The \'packages\' parameter is an array of strings\. Each element in the array is
+the name of a package to be uninstalled\.
+.
+.P
+Finally, \'callback\' is a function that will be called when all packages have been
+uninstalled or when an error has been encountered\.
diff --git a/deps/npm/man/man3/root.3 b/deps/npm/man/man3/root.3
new file mode 100644
index 0000000000..b09b6feafd
--- /dev/null
+++ b/deps/npm/man/man3/root.3
@@ -0,0 +1,24 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-ROOT" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-root\fR \-\- Display npm root
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.root(args, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+Print the effective \fBnode_modules\fR folder to standard out\.
+.
+.P
+\'args\' is never used and callback is never called with data\.
+\'args\' must be present or things will break\.
+.
+.P
+This function is not useful programmatically\.
diff --git a/deps/npm/man/man3/run-script.3 b/deps/npm/man/man3/run-script.3
new file mode 100644
index 0000000000..1810b6f107
--- /dev/null
+++ b/deps/npm/man/man3/run-script.3
@@ -0,0 +1,48 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-RUN\-SCRIPT" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-run-script\fR \-\- Run arbitrary package scripts
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.run\-script(args, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This runs an arbitrary command from a package\'s "scripts" object\.
+.
+.P
+It is used by the test, start, restart, and stop commands, but can be
+called directly, as well\.
+.
+.P
+The \'args\' parameter is an array of strings\. Behavior depends on the number
+of elements\. If there is only one element, npm assumes that the element
+represents a command to be run on the local repository\. If there is more than
+one element, then the first is assumed to be the package and the second is
+assumed to be the command to run\. All other elements are ignored\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help scripts
+.
+.IP "\(bu" 4
+npm apihelp test
+.
+.IP "\(bu" 4
+npm apihelp start
+.
+.IP "\(bu" 4
+npm apihelp restart
+.
+.IP "\(bu" 4
+npm apihelp stop
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man3/search.3 b/deps/npm/man/man3/search.3
new file mode 100644
index 0000000000..eac7d20e3c
--- /dev/null
+++ b/deps/npm/man/man3/search.3
@@ -0,0 +1,64 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-SEARCH" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-search\fR \-\- Search for packages
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.search(searchTerms, [silent,] [staleness,] callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+Search the registry for packages matching the search terms\. The available parameters are:
+.
+.IP "\(bu" 4
+searchTerms:
+Array of search terms\. These terms are case\-insensitive\.
+.
+.IP "\(bu" 4
+silent:
+If true, npm will not log anything to the console\.
+.
+.IP "\(bu" 4
+staleness:
+This is the threshold for stale packages\. "Fresh" packages are not refreshed
+from the registry\. This value is measured in seconds\.
+.
+.IP "\(bu" 4
+callback:
+Returns an object where each key is the name of a package, and the value
+is information about that package along with a \'words\' property, which is
+a space\-delimited string of all of the interesting words in that package\.
+The only properties included are those that are searched, which generally include:
+.
+.IP "\(bu" 4
+name
+.
+.IP "\(bu" 4
+description
+.
+.IP "\(bu" 4
+maintainers
+.
+.IP "\(bu" 4
+url
+.
+.IP "\(bu" 4
+keywords
+.
+.IP "" 0
+
+.
+.IP "" 0
+.
+.P
+A search on the registry excludes any result that does not match all of the
+search terms\. It also removes any items from the results that contain an
+excluded term (the "searchexclude" config)\. The search is case insensitive
+and doesn\'t try to read your mind (it doesn\'t do any verb tense matching or the
+like)\.
diff --git a/deps/npm/man/man3/set.3 b/deps/npm/man/man3/set.3
new file mode 100644
index 0000000000..548f4bb9c6
--- /dev/null
+++ b/deps/npm/man/man3/set.3
@@ -0,0 +1,69 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-CONFIG" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-config\fR \-\- Manage the npm configuration files
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.config(args, callback)
+var val = npm\.config\.get(key)
+npm\.config\.set(key, val)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This function acts much the same way as the command\-line version\. The first
+element in the array tells config what to do\. Possible values are:
+.
+.IP "\(bu" 4
+\fBset\fR
+.
+.IP
+Sets a config parameter\. The second element in \fBargs\fR is interpreted as the
+key, and the third element is interpreted as the value\.
+.
+.IP "\(bu" 4
+\fBget\fR
+.
+.IP
+Gets the value of a config parameter\. The second element in \fBargs\fR is the
+key to get the value of\.
+.
+.IP "\(bu" 4
+\fBdelete\fR (\fBrm\fR or \fBdel\fR)
+.
+.IP
+Deletes a parameter from the config\. The second element in \fBargs\fR is the
+key to delete\.
+.
+.IP "\(bu" 4
+\fBlist\fR (\fBls\fR)
+.
+.IP
+Show all configs that aren\'t secret\. No parameters necessary\.
+.
+.IP "\(bu" 4
+\fBedit\fR:
+.
+.IP
+Opens the config file in the default editor\. This command isn\'t very useful
+programmatically, but it is made available\.
+.
+.IP "" 0
+.
+.P
+To programmatically access npm configuration settings, or set them for
+the duration of a program, use the \fBnpm\.config\.set\fR and \fBnpm\.config\.get\fR
+functions instead\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm apihelp npm
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man3/start.3 b/deps/npm/man/man3/start.3
new file mode 100644
index 0000000000..333c956407
--- /dev/null
+++ b/deps/npm/man/man3/start.3
@@ -0,0 +1,21 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-START" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-start\fR \-\- Start a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.start(packages, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This runs a package\'s "start" script, if one was provided\.
+.
+.P
+npm can run tests on multiple packages\. Just specify multiple packages
+in the \fBpackages\fR parameter\.
diff --git a/deps/npm/man/man3/stop.3 b/deps/npm/man/man3/stop.3
new file mode 100644
index 0000000000..cd6be16f09
--- /dev/null
+++ b/deps/npm/man/man3/stop.3
@@ -0,0 +1,21 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-STOP" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-stop\fR \-\- Stop a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.stop(packages, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This runs a package\'s "stop" script, if one was provided\.
+.
+.P
+npm can run stop on multiple packages\. Just specify multiple packages
+in the \fBpackages\fR parameter\.
diff --git a/deps/npm/man/man3/submodule.3 b/deps/npm/man/man3/submodule.3
new file mode 100644
index 0000000000..06db2b7d8a
--- /dev/null
+++ b/deps/npm/man/man3/submodule.3
@@ -0,0 +1,42 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-SUBMODULE" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-submodule\fR \-\- Add a package as a git submodule
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.submodule(packages, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+For each package specified, npm will check if it has a git repository url
+in its package\.json description then add it as a git submodule at \fBnode_modules/<pkg name>\fR\|\.
+.
+.P
+This is a convenience only\. From then on, it\'s up to you to manage
+updates by using the appropriate git commands\. npm will stubbornly
+refuse to update, modify, or remove anything with a \fB\|\.git\fR subfolder
+in it\.
+.
+.P
+This command also does not install missing dependencies, if the package
+does not include them in its git repository\. If \fBnpm ls\fR reports that
+things are missing, you can either install, link, or submodule them yourself,
+or you can do \fBnpm explore <pkgname> \-\- npm install\fR to install the
+dependencies into the submodule folder\.
+.
+.SH "SEE ALSO"
+.
+.IP "\(bu" 4
+npm help json
+.
+.IP "\(bu" 4
+git help submodule
+.
+.IP "" 0
+
diff --git a/deps/npm/man/man3/tag.3 b/deps/npm/man/man3/tag.3
new file mode 100644
index 0000000000..ef1d80c563
--- /dev/null
+++ b/deps/npm/man/man3/tag.3
@@ -0,0 +1,31 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-TAG" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-tag\fR \-\- Tag a published version
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.tag(package@version, tag, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+Tags the specified version of the package with the specified tag, or the \fB\-\-tag\fR config if not specified\.
+.
+.P
+The \'package@version\' is an array of strings, but only the first two elements are
+currently used\.
+.
+.P
+The first element must be in the form package@version, where package
+is the package name and version is the version number (much like installing a
+specific version)\.
+.
+.P
+The second element is the name of the tag to tag this version with\. If this
+parameter is missing or falsey (empty), the default froom the config will be
+used\. For more information about how to set this config, check \fBman 3 npm\-config\fR for programmatic usage or \fBman npm\-config\fR for cli usage\.
diff --git a/deps/npm/man/man3/test.3 b/deps/npm/man/man3/test.3
new file mode 100644
index 0000000000..a7dd970926
--- /dev/null
+++ b/deps/npm/man/man3/test.3
@@ -0,0 +1,25 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-TEST" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-test\fR \-\- Test a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+ npm\.commands\.test(packages, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This runs a package\'s "test" script, if one was provided\.
+.
+.P
+To run tests as a condition of installation, set the \fBnpat\fR config to
+true\.
+.
+.P
+npm can run tests on multiple packages\. Just specify multiple packages
+in the \fBpackages\fR parameter\.
diff --git a/deps/npm/man/man3/uninstall.3 b/deps/npm/man/man3/uninstall.3
new file mode 100644
index 0000000000..07baafa872
--- /dev/null
+++ b/deps/npm/man/man3/uninstall.3
@@ -0,0 +1,25 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-UNINSTALL" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-uninstall\fR \-\- uninstall a package programmatically
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.uninstall(packages, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This acts much the same ways as uninstalling on the command\-line\.
+.
+.P
+The \'packages\' parameter is an array of strings\. Each element in the array is
+the name of a package to be uninstalled\.
+.
+.P
+Finally, \'callback\' is a function that will be called when all packages have been
+uninstalled or when an error has been encountered\.
diff --git a/deps/npm/man/man3/unpublish.3 b/deps/npm/man/man3/unpublish.3
new file mode 100644
index 0000000000..084023ebd8
--- /dev/null
+++ b/deps/npm/man/man3/unpublish.3
@@ -0,0 +1,30 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-UNPUBLISH" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-unpublish\fR \-\- Remove a package from the registry
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.unpublish(package, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This removes a package version from the registry, deleting its
+entry and removing the tarball\.
+.
+.P
+The package parameter must be defined\.
+.
+.P
+Only the first element in the package parameter is used\. If there is no first
+element, then npm assumes that the package at the current working directory
+is what is meant\.
+.
+.P
+If no version is specified, or if all versions are removed then
+the root package entry is removed from the registry entirely\.
diff --git a/deps/npm/man/man3/update.3 b/deps/npm/man/man3/update.3
new file mode 100644
index 0000000000..7af18944dd
--- /dev/null
+++ b/deps/npm/man/man3/update.3
@@ -0,0 +1,18 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-UPDATE" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-update\fR \-\- Update a package
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.update(packages, callback)
+.
+.fi
+Updates a package, upgrading it to the latest version\. It also installs any missing packages\.
+.
+.P
+The \'packages\' argument is an array of packages to update\. The \'callback\' parameter will be called when done or when an error occurs\.
diff --git a/deps/npm/man/man3/version.3 b/deps/npm/man/man3/version.3
new file mode 100644
index 0000000000..a3df59f13a
--- /dev/null
+++ b/deps/npm/man/man3/version.3
@@ -0,0 +1,27 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-VERSION" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-version\fR \-\- Bump a package version
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.version(newversion, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+Run this in a package directory to bump the version and write the new
+data back to the package\.json file\.
+.
+.P
+If run in a git repo, it will also create a version commit and tag, and
+fail if the repo is not clean\.
+.
+.P
+Like all other commands, this function takes a string array as its first
+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\.
diff --git a/deps/npm/man/man3/view.3 b/deps/npm/man/man3/view.3
new file mode 100644
index 0000000000..fb33574c17
--- /dev/null
+++ b/deps/npm/man/man3/view.3
@@ -0,0 +1,176 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-VIEW" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-view\fR \-\- View registry info
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.view(args, [silent,] callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+This command shows data about a package and prints it to the stream
+referenced by the \fBoutfd\fR config, which defaults to stdout\.
+.
+.P
+The "args" parameter is an ordered list that closely resembles the command\-line
+usage\. The elements should be ordered such that the first element is
+the package and version (package@version)\. The version is optional\. After that,
+the rest of the parameters are fields with optional subfields ("field\.subfield")
+which can be used to get only the information desired from the registry\.
+.
+.P
+The callback will be passed all of the data returned by the query\.
+.
+.P
+For example, to get the package registry entry for the \fBconnect\fR package,
+you can do this:
+.
+.IP "" 4
+.
+.nf
+npm\.commands\.view(["connect"], callback)
+.
+.fi
+.
+.IP "" 0
+.
+.P
+If no version is specified, "latest" is assumed\.
+.
+.P
+Field names can be specified after the package descriptor\.
+For example, to show the dependencies of the \fBronn\fR package at version
+0\.3\.5, you could do the following:
+.
+.IP "" 4
+.
+.nf
+npm\.commands\.view(["ronn@0\.3\.5", "dependencies"], callback)
+.
+.fi
+.
+.IP "" 0
+.
+.P
+You can view child field by separating them with a period\.
+To view the git repository URL for the latest version of npm, you could
+do this:
+.
+.IP "" 4
+.
+.nf
+npm\.commands\.view(["npm", "repository\.url"], callback)
+.
+.fi
+.
+.IP "" 0
+.
+.P
+For fields that are arrays, requesting a non\-numeric field will return
+all of the values from the objects in the list\. For example, to get all
+the contributor names for the "express" project, you can do this:
+.
+.IP "" 4
+.
+.nf
+npm\.commands\.view(["express", "contributors\.email"], callback)
+.
+.fi
+.
+.IP "" 0
+.
+.P
+You may also use numeric indices in square braces to specifically select
+an item in an array field\. To just get the email address of the first
+contributor in the list, you can do this:
+.
+.IP "" 4
+.
+.nf
+npm\.commands\.view(["express", "contributors[0]\.email"], callback)
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Multiple fields may be specified, and will be printed one after another\.
+For exampls, to get all the contributor names and email addresses, you
+can do this:
+.
+.IP "" 4
+.
+.nf
+npm\.commands\.view(["express", "contributors\.name", "contributors\.email"], callback)
+.
+.fi
+.
+.IP "" 0
+.
+.P
+"Person" fields are shown as a string if they would be shown as an
+object\. So, for example, this will show the list of npm contributors in
+the shortened string format\. (See \fBnpm help json\fR for more on this\.)
+.
+.IP "" 4
+.
+.nf
+npm\.commands\.view(["npm", "contributors"], callback)
+.
+.fi
+.
+.IP "" 0
+.
+.P
+If a version range is provided, then data will be printed for every
+matching version of the package\. This will show which version of jsdom
+was required by each matching version of yui3:
+.
+.IP "" 4
+.
+.nf
+npm\.commands\.view(["yui3@\'>0\.5\.4\'", "dependencies\.jsdom"], callback)
+.
+.fi
+.
+.IP "" 0
+.
+.SH "OUTPUT"
+If only a single string field for a single version is output, then it
+will not be colorized or quoted, so as to enable piping the output to
+another command\.
+.
+.P
+If the version range matches multiple versions, than each printed value
+will be prefixed with the version it applies to\.
+.
+.P
+If multiple fields are requested, than each of them are prefixed with
+the field name\.
+.
+.P
+Console output can be disabled by setting the \'silent\' parameter to true\.
+.
+.SH "RETURN VALUE"
+The data returned will be an object in this formation:
+.
+.IP "" 4
+.
+.nf
+{ <version>:
+ { <field>: <value>
+ , \.\.\. }
+, \.\.\. }
+.
+.fi
+.
+.IP "" 0
+.
+.P
+corresponding to the list of fields selected\.
diff --git a/deps/npm/man/man3/whoami.3 b/deps/npm/man/man3/whoami.3
new file mode 100644
index 0000000000..84b2813da5
--- /dev/null
+++ b/deps/npm/man/man3/whoami.3
@@ -0,0 +1,24 @@
+.\" Generated with Ronnjs/v0.1
+.\" http://github.com/kapouer/ronnjs/
+.
+.TH "NPM\-WHOAMI" "3" "November 2011" "" ""
+.
+.SH "NAME"
+\fBnpm-whoami\fR \-\- Display npm username
+.
+.SH "SYNOPSIS"
+.
+.nf
+npm\.commands\.whoami(args, callback)
+.
+.fi
+.
+.SH "DESCRIPTION"
+Print the \fBusername\fR config to standard output\.
+.
+.P
+\'args\' is never used and callback is never called with data\.
+\'args\' must be present or things will break\.
+.
+.P
+This function is not useful programmatically